<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>todo - Vim Documentation</title>
<meta name="Generator" content="Vim/8.0">
<meta name="plugin-version" content="vim8.0">
<meta name="syntax" content="help">
<meta name="settings" content="no_pre,use_css,expand_tabs">
<link rel="stylesheet" href="style.css" type="text/css" />

<script src="jquery.min.js" type="text/javascript"></script>
<script src="mark-current-page.js" type="text/javascript"></script>
</head>

<body>

<header>

<div class="header">
  <a href="http://vim-jp.org/">vim-jp</a>
  / <a href="http://vim-jp.org/vimdoc-en/">vimdoc-en</a>
  / todo<br />
  <a name="top"></a><h1>todo - Vim Documentation</h1>
  <a href="index.html">Return to main</a>

  <span class="EnglishJapaneseLink">
    <span class="CurrentLanguage">English</span>
  </span>
</div>
</header>

<nav>
<dl>

<dt>BASIC</dt>
<dd><ul>
<li><a href="quickref.html">quickref</a></li>
<li><a href="sponsor.html">sponsor</a></li>
</ul></dd>

<dt>USER MANUAL</dt>
<dd><ul>
<li><a href="usr_toc.html">usr_toc</a></li>
</ul></dd>

<dt>Getting Started</dt>
<dd><ul>
<li><a href="usr_01.html">usr_01</a></li>
<li><a href="usr_02.html">usr_02</a></li>
<li><a href="usr_03.html">usr_03</a></li>
<li><a href="usr_04.html">usr_04</a></li>
<li><a href="usr_05.html">usr_05</a></li>
<li><a href="usr_06.html">usr_06</a></li>
<li><a href="usr_07.html">usr_07</a></li>
<li><a href="usr_08.html">usr_08</a></li>
<li><a href="usr_09.html">usr_09</a></li>
<li><a href="usr_10.html">usr_10</a></li>
<li><a href="usr_11.html">usr_11</a></li>
<li><a href="usr_12.html">usr_12</a></li>
</ul></dd>

<dt>Editing Effectively</dt>
<dd><ul>
<li><a href="usr_20.html">usr_20</a></li>
<li><a href="usr_21.html">usr_21</a></li>
<li><a href="usr_22.html">usr_22</a></li>
<li><a href="usr_23.html">usr_23</a></li>
<li><a href="usr_24.html">usr_24</a></li>
<li><a href="usr_25.html">usr_25</a></li>
<li><a href="usr_26.html">usr_26</a></li>
<li><a href="usr_27.html">usr_27</a></li>
<li><a href="usr_28.html">usr_28</a></li>
<li><a href="usr_29.html">usr_29</a></li>
<li><a href="usr_30.html">usr_30</a></li>
<li><a href="usr_31.html">usr_31</a></li>
<li><a href="usr_32.html">usr_32</a></li>
</ul></dd>

<dt>Tuning Vim</dt>
<dd><ul>
<li><a href="usr_40.html">usr_40</a></li>
<li><a href="usr_41.html">usr_41</a></li>
<li><a href="usr_42.html">usr_42</a></li>
<li><a href="usr_43.html">usr_43</a></li>
<li><a href="usr_44.html">usr_44</a></li>
<li><a href="usr_45.html">usr_45</a></li>
</ul></dd>

<dt>Making Vim Run</dt>
<dd><ul>
<li><a href="usr_90.html">usr_90</a></li>
</ul></dd>

<dt>General subjects</dt>
<dd><ul>
<li><a href="intro.html">intro</a></li>
<li><a href="index.html">help</a></li>
<li><a href="helphelp.html">helphelp</a></li>
<li><a href="vimindex.html">index</a></li>
<li><a href="tags.html">tags</a></li>
<li><a href="howto.html">howto</a></li>
<li><a href="tips.html">tips</a></li>
<li><a href="message.html">message</a></li>
<li><a href="quotes.html">quotes</a></li>
<li><a href="todo.html">todo</a></li>
<li><a href="debug.html">debug</a></li>
<li><a href="develop.html">develop</a></li>
<li><a href="uganda.html">uganda</a></li>
</ul></dd>

<dt>Basic editing</dt>
<dd><ul>
<li><a href="starting.html">starting</a></li>
<li><a href="editing.html">editing</a></li>
<li><a href="motion.html">motion</a></li>
<li><a href="scroll.html">scroll</a></li>
<li><a href="insert.html">insert</a></li>
<li><a href="change.html">change</a></li>
<li><a href="indent.html">indent</a></li>
<li><a href="undo.html">undo</a></li>
<li><a href="repeat.html">repeat</a></li>
<li><a href="visual.html">visual</a></li>
<li><a href="various.html">various</a></li>
<li><a href="recover.html">recover</a></li>
</ul></dd>

<dt>Advanced editing</dt>
<dd><ul>
<li><a href="cmdline.html">cmdline</a></li>
<li><a href="options.html">options</a></li>
<li><a href="pattern.html">pattern</a></li>
<li><a href="map.html">map</a></li>
<li><a href="tagsrch.html">tagsrch</a></li>
<li><a href="quickfix.html">quickfix</a></li>
<li><a href="windows.html">windows</a></li>
<li><a href="tabpage.html">tabpage</a></li>
<li><a href="syntax.html">syntax</a></li>
<li><a href="spell.html">spell</a></li>
<li><a href="diff.html">diff</a></li>
<li><a href="autocmd.html">autocmd</a></li>
<li><a href="filetype.html">filetype</a></li>
<li><a href="eval.html">eval</a></li>
<li><a href="channel.html">channel</a></li>
<li><a href="fold.html">fold</a></li>
</ul></dd>

<dt>Special issues</dt>
<dd><ul>
<li><a href="print.html">print</a></li>
<li><a href="remote.html">remote</a></li>
<li><a href="term.html">term</a></li>
<li><a href="digraph.html">digraph</a></li>
<li><a href="mbyte.html">mbyte</a></li>
<li><a href="mlang.html">mlang</a></li>
<li><a href="arabic.html">arabic</a></li>
<li><a href="farsi.html">farsi</a></li>
<li><a href="hebrew.html">hebrew</a></li>
<li><a href="russian.html">russian</a></li>
<li><a href="ft_ada.html">ft_ada</a></li>
<li><a href="ft_sql.html">ft_sql</a></li>
<li><a href="hangulin.html">hangulin</a></li>
<li><a href="rileft.html">rileft</a></li>
</ul></dd>

<dt>GUI</dt>
<dd><ul>
<li><a href="gui.html">gui</a></li>
<li><a href="gui_w32.html">gui_w32</a></li>
<li><a href="gui_x11.html">gui_x11</a></li>
</ul></dd>

<dt>Interfaces</dt>
<dd><ul>
<li><a href="if_cscop.html">if_cscop</a></li>
<li><a href="if_lua.html">if_lua</a></li>
<li><a href="if_mzsch.html">if_mzsch</a></li>
<li><a href="if_perl.html">if_perl</a></li>
<li><a href="if_pyth.html">if_pyth</a></li>
<li><a href="if_tcl.html">if_tcl</a></li>
<li><a href="if_ole.html">if_ole</a></li>
<li><a href="if_ruby.html">if_ruby</a></li>
<li><a href="debugger.html">debugger</a></li>
<li><a href="workshop.html">workshop</a></li>
<li><a href="netbeans.html">netbeans</a></li>
<li><a href="sign.html">sign</a></li>
</ul></dd>

<dt>Versions</dt>
<dd><ul>
<li><a href="vi_diff.html">vi_diff</a></li>
<li><a href="version4.html">version4</a></li>
<li><a href="version5.html">version5</a></li>
<li><a href="version6.html">version6</a></li>
<li><a href="version7.html">version7</a></li>
<li><a href="version8.html">version8</a></li>
</ul></dd>

<dt>Remarks about specific systems</dt>
<dd><ul>
<li><a href="os_390.html">os_390</a></li>
<li><a href="os_amiga.html">os_amiga</a></li>
<li><a href="os_beos.html">os_beos</a></li>
<li><a href="os_dos.html">os_dos</a></li>
<li><a href="os_mac.html">os_mac</a></li>
<li><a href="os_mint.html">os_mint</a></li>
<li><a href="os_msdos.html">os_msdos</a></li>
<li><a href="os_os2.html">os_os2</a></li>
<li><a href="os_qnx.html">os_qnx</a></li>
<li><a href="os_risc.html">os_risc</a></li>
<li><a href="os_unix.html">os_unix</a></li>
<li><a href="os_vms.html">os_vms</a></li>
<li><a href="os_win32.html">os_win32</a></li>
</ul></dd>

<dt>Standard plugins</dt>
<dd><ul>
<li><a href="pi_getscript.html">pi_getscript</a></li>
<li><a href="pi_gzip.html">pi_gzip</a></li>
<li><a href="pi_logipat.html">pi_logipat</a></li>
<li><a href="pi_netrw.html">pi_netrw</a></li>
<li><a href="pi_paren.html">pi_paren</a></li>
<li><a href="pi_tar.html">pi_tar</a></li>
<li><a href="pi_vimball.html">pi_vimball</a></li>
<li><a href="pi_zip.html">pi_zip</a></li>
</ul></dd>

<dt>Filetype plugins</dt>
<dd><ul>
<li><a href="pi_spec.html">pi_spec</a></li>
</ul></dd>

<dt>Others</dt>
<dd><ul>
<li><a href="vim_faq.html">vim_faq</a></li>
</ul></dd>

</dl>
</nav>

<article class="Vimdoc VimdocJa">
<div id='vimCodeElement'>
<a class="Constant" href="todo.html" name="todo.txt">todo.txt</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;<span class="Identifier">Vim version 8.0.</span>&nbsp;&nbsp;Last change: 2017 Aug 01<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Identifier">VIM REFERENCE MANUAL&nbsp;&nbsp;&nbsp;&nbsp;by Bram Moolenaar</span><br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TODO list for Vim&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#todo" name="todo">todo</a><br>
<br>
This is a veeeery long list of known bugs, current work and desired<br>
improvements.&nbsp;&nbsp;To make it a little bit accessible, the items are grouped by<br>
subject.&nbsp;&nbsp;In the first column of the line a classification is used to be able<br>
to look for &quot;the next thing to do&quot;:<br>
<br>
Priority classification:<br>
9&nbsp;&nbsp; next point release<br>
8&nbsp;&nbsp; next release<br>
7&nbsp;&nbsp; as soon as possible<br>
6&nbsp;&nbsp; soon<br>
5&nbsp;&nbsp; should be included<br>
4&nbsp;&nbsp; nice to have<br>
3&nbsp;&nbsp; consider including<br>
2&nbsp;&nbsp; maybe not<br>
1&nbsp;&nbsp; probably not<br>
-&nbsp;&nbsp; unclassified<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#votes-for-changes" name="votes-for-changes">votes-for-changes</a><br>
See&nbsp;<a class="Identifier" href="develop.html">develop.txt</a>&nbsp;for development plans.&nbsp;&nbsp;You can vote for which items should<br>
be worked on, but only if you sponsor Vim development.&nbsp;&nbsp;See&nbsp;<a class="Identifier" href="sponsor.html#sponsor">sponsor</a>.<br>
<br>
Issues can also be entered online:&nbsp;<span class="Constant"><a href="https://github.com/vim/vim/issues">https://github.com/vim/vim/issues</a></span><br>
Only use this for bug reports, not for questions!&nbsp;&nbsp;Those belong on the<br>
maillist.&nbsp;&nbsp;Updates will be forwarded to the&nbsp;<a class="Identifier" href="intro.html#vim_dev">vim_dev</a>&nbsp;maillist.&nbsp;&nbsp;Issues<br>
entered there will not be repeated below, unless there is extra information.<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#known-bugs" name="known-bugs">known-bugs</a><br>
<span class="PreProc">-------------------- Known bugs and current work -----------------------</span><br>
<br>
Check out coverity reports.<br>
<br>
No maintainer for Vietnamese translations.<br>
No maintainer for Simplified Chinese translations.<br>
<br>
<br>
Terminal emulator window:<br>
- Lots of stuff to implement, see src/terminal.c<br>
- Running a shell command from the GUI still has limitations.&nbsp;&nbsp;Look into how<br>
&nbsp;&nbsp;the terminal emulator of the Vim shell project can help:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://code.hootsuite.com/vimshell/">http://code.hootsuite.com/vimshell/</a></span><br>
- Add winpty.dll and winpty-agent.exe in the NSIS build.<br>
- Add debugger interface.&nbsp;&nbsp;Implementation for gdb by Xavier de Gaye.&nbsp;&nbsp;Should<br>
&nbsp;&nbsp;work like an IDE.&nbsp;&nbsp;Try to keep it generic.&nbsp;&nbsp;Now found here:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://clewn.sf.net">http://clewn.sf.net</a></span>.<br>
- Look into the idevim plugin/script.<br>
- Related wishes for NetBeans commands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- make it possible to have 'defineAnnoType' also handle terminal colors.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- send 'balloonText' events for the cursor position (using CursorHold ?)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in terminal mode.<br>
<br>
+channel:<br>
- Try out background make plugin:&nbsp;<br>
&nbsp;&nbsp;<span class="Constant"><a href="https://github.com/AndrewVos/vim-make-background">https://github.com/AndrewVos/vim-make-background</a></span><br>
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)<br>
- Add&nbsp;<span class="MissingTag">'cwd'</span>&nbsp;argument to start_job(): directory to change to in the child.<br>
&nbsp;&nbsp;&nbsp;&nbsp;check for valid directory before forking.<br>
&nbsp;&nbsp;Part of patch for environment, Yasuhiro Matsumoto, #1160<br>
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,<br>
&nbsp;&nbsp;2016 Dec 11, #1320)<br>
- Implement&nbsp;<a class="Identifier" href="channel.html#job-term">job-term</a>&nbsp;?<br>
- Channel test fails with Motif.&nbsp;&nbsp;Sometimes kills the X11 server.<br>
- When a message in the queue but there is no callback, drop it after a while?<br>
&nbsp;&nbsp;Add timestamp to queued messages and callbacks with ID, remove after a<br>
&nbsp;&nbsp;minute.&nbsp;&nbsp;Option to set the droptime.<br>
- Add an option to drop text of very long lines?&nbsp;&nbsp;Default to 1 Mbyte.<br>
- Add remark about undo sync, is there a way to force it?<br>
- When starting a job, have an option to open the server socket, so we know<br>
&nbsp;&nbsp;the port, and pass it to the command with --socket-fd&nbsp;<span class="Special">{nr}</span>. (Olaf Dabrunz,<br>
&nbsp;&nbsp;Feb 9)&nbsp;&nbsp;How to do this on MS-Windows?<br>
- For connection to server, a &quot;keep open&quot; flag would be useful.&nbsp;&nbsp;Retry<br>
&nbsp;&nbsp;connecting in the main loop with zero timeout.<br>
- job_start(): run job in a newly opened terminal.<br>
&nbsp;&nbsp;&nbsp;&nbsp;With xterm could use -S<span class="Special">{pty}</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Although user could use &quot;xterm -e 'cmd arg'&quot;.<br>
<br>
Regexp problems:<br>
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.<br>
&nbsp;&nbsp;(Manuel Ortega, 2016 Apr 24)<br>
&nbsp;&nbsp;Test fails on Mac.&nbsp;&nbsp;Avoid using isalpha(), isalnum(), etc?&nbsp;&nbsp;Depends on<br>
&nbsp;&nbsp;LC_CTYPE<br>
- The old engine does not find a match for &quot;/\%#=1\(\)\<span class="Special">{80}</span>&quot;, the new engine<br>
&nbsp;&nbsp;matches everywhere.<br>
- Using win_linetabsize() can still be slow. Cache the result, store col and<br>
&nbsp;&nbsp;vcol. Reset them when moving to another line.<br>
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)<br>
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@&lt;!\.$'<br>
&nbsp;&nbsp;(Lech Lorens, 2014 Feb 3)<br>
- Issue 164: freeze on regexp search.<br>
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,<br>
&nbsp;&nbsp;2013 Dec 11)<br>
- Using \@&gt; and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin<br>
&nbsp;&nbsp;Szamotulski; Remark from Brett 2014 Jan 6 and 7.<br>
- NFA regexp doesn't handle \%&lt;v correctly. (Ingo Karkat, 2014 May 12)<br>
- Does not work with NFA regexp engine:<br>
&nbsp;&nbsp;\%u, \%x, \%o, \%d followed by a composing character<br>
- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)<br>
- \%'[ does not work.&nbsp;&nbsp;'%'] does work.&nbsp;&nbsp;(Masaaki Nakamura, 2016 Apr 4)<br>
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)<br>
- New RE does not give an error for empty group: &quot;\(\)\<span class="Special">{2}</span>&quot; (Dominique Pelle,<br>
&nbsp;&nbsp;2015 Feb 7)<br>
- Using back reference before the capturing group sometimes works with the old<br>
&nbsp;&nbsp;engine, can we do this with the new engine?&nbsp;&nbsp;E.g. with<br>
&nbsp;&nbsp;&quot;/\%(&lt;\1&gt;\)\@&lt;=.*\%(&lt;\/\(\w\+\)&gt;\)\@=&quot; matching text inside HTML tags.<br>
&nbsp;&nbsp;This problem is probably the same: &quot;\%(^\1.*$\n\)\@&lt;=\(\d\+\).*$&quot;.<br>
&nbsp;&nbsp;(guotuofeng, 2015 Jun 22)<br>
- Strange matching with &quot;\(Hello\n\)\@&lt;=A&quot;. (Anas Syed, 2015 Feb 12)<br>
- Problem with \v(A)@&lt;=b+\1c. (Issue 334)<br>
- Diff highlighting can be very slow. (Issue 309)<br>
- Using %&gt; for a virtual column has a check based on&nbsp;<span class="MissingTag">'tabsize'</span>.&nbsp;&nbsp;Better would<br>
&nbsp;&nbsp;be to cache the result of win_linetabsize(col), storing both col and vcol,<br>
&nbsp;&nbsp;and use them to decide whether win_linetabsize() needs to be called.&nbsp;&nbsp;Reset<br>
&nbsp;&nbsp;col and vcol when moving to another line.<br>
- this doesn't work: &quot;syntax match ErrorMsg /.\%9l\%&gt;20c\&amp;\%&lt;28c/&quot;.&nbsp;&nbsp;Leaving<br>
&nbsp;&nbsp;out the \&amp; works.&nbsp;&nbsp;Seems any column check after \&amp; fails.<br>
- Difference between two engines: &quot;.*\zs\/\@&gt;\/&quot; on text &quot;///&quot;<br>
&nbsp;&nbsp;(Chris Paul, 2016 Nov 13)&nbsp;&nbsp;New engine not greedy enough?<br>
&nbsp;&nbsp;Another one: echom matchstr(&quot; sdfsfsf\n sfdsdfsdf&quot;,'[^\n]*')<br>
&nbsp;&nbsp;(2017 May 15, #1252)<br>
<br>
test_gui fails with gnome2: cannot create .gnome2 dir<br>
&nbsp;&nbsp;&nbsp;&nbsp;use&nbsp;&nbsp;testdir/Xfakehome&nbsp;&nbsp;instead of does/not/exist?<br>
<br>
Patch for quickfix: parse lines for any quickfix list. (Yegappan Lakshmanan,<br>
2017 Jul 20)<br>
<br>
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.<br>
(Marcin Szewczyk, 2017 Apr 26)<br>
<br>
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)<br>
Lemonboy can reproduce (2017 Jun 5)<br>
<br>
ml_get errors with buggy script. (Dominique, 2017 Apr 30)<br>
<br>
Error in emsg with buggy script. (Dominique, 2017 Apr 30)<br>
<br>
Patch for Murphi syntax. (Matthew Fernandez, 2017 Jul 24)<br>
<br>
Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)<br>
<br>
Bug with conceal mode: 3rd element returned by synconcealed() differs for<br>
every call. (Dominique Pelle, 2017 Jun 18)<br>
<br>
Add options_default() / options_restore() to set several options to Vim<br>
defaults for a plugin. Comments from Zyx, 2017 May 10.<br>
Perhaps use a vimcontext / endvimcontext command block.<br>
<br>
Signs drawn on top of messages. (worp, #1907)<br>
<br>
Folds open when job writes to another buffer. (Jonathan Fudger, 2017 Jul 31)<br>
Already fixed?<br>
<br>
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)<br>
Still happens (2017 Jul 9)<br>
<br>
Memory leak in test_arabic.<br>
<br>
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)<br>
It can replace the BeOS code, which is likely not used anymore.<br>
Now on github: #1856.&nbsp;&nbsp;Is now up-to-date?<br>
<br>
Refactored HTML indent file. (Michael Lee, #1821)<br>
<br>
Using uninitialzed value in test_crypt.<br>
<br>
Test_writefile_fails_conversion failure on Solaris because if different iconv<br>
behavior.&nbsp;&nbsp;Skip when &quot;uname&quot; returns &quot;SunOS&quot;? (Pavel Heimlich, #1872)<br>
<br>
All functions are global, which makes functions like get() and len() awkward.<br>
For the future use the ~get() and ~len() syntax, e.g.:<br>
&nbsp;&nbsp;&nbsp;&nbsp;mylist~get(idx)<br>
&nbsp;&nbsp;&nbsp;&nbsp;mydict~get(idx)<br>
&nbsp;&nbsp;&nbsp;&nbsp;mystring~len()<br>
Alternatives for ~:<br>
&nbsp;&nbsp;&nbsp;&nbsp;^&nbsp;&nbsp;list^get()&nbsp;&nbsp;&nbsp;&nbsp;could also be used<br>
&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;list.get()&nbsp;&nbsp;&nbsp;&nbsp;already means concatenate<br>
&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;list$get()&nbsp;&nbsp;&nbsp;&nbsp;harder to read<br>
&nbsp;&nbsp;&nbsp;&nbsp;@&nbsp;&nbsp;list@get()&nbsp;&nbsp;&nbsp;&nbsp;harder to read<br>
&nbsp;&nbsp;&nbsp;&nbsp;-&gt;&nbsp;&nbsp;list-&gt;get()&nbsp;&nbsp;two characters, used for lambda<br>
<br>
X11: Putting more than about 262040 characters of text on the clipboard and<br>
pasting it in another Vim doesn't work.&nbsp;&nbsp;(Dominique Pelle, 2008 Aug 21-23)<br>
clip_x11_request_selection_cb() is called with zero value and length.<br>
Also: Get an error message from free() in the process that owns the selection.<br>
Seems to happen when the selection is requested the second time, but before<br>
clip_x11_convert_selection_cb() is invoked, thus in X library code.<br>
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)<br>
<br>
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)<br>
<br>
Completion mixes results from the current buffer with tags and other files.<br>
Happens when typing&nbsp;<span class="Special">CTRL-N</span>&nbsp;while still search for results.&nbsp;&nbsp;E.g., type &quot;b_&quot; in<br>
terminal.c and then&nbsp;<span class="Special">CTRL-N</span>&nbsp;twice.<br>
Should do current file first and not split it up when more results are found.<br>
(Also #1890)<br>
<br>
Python: After &quot;import vim&quot; error messages only show the first line of the<br>
stack trace. (Yggdroot, 2017 Jul 28, #1887)<br>
<br>
When checking if a bufref is valid, also check the buffer number, to catch the<br>
case of :bwipe followed by :new.<br>
<br>
Patch to skip writing a temp file for diffing if the buffer is equal to the<br>
existing file. (Akria Sheng, 2017 Jul 22)<br>
Could also skip writing lines that are the same.<br>
<br>
Patch with Files for Latvian language. (Vitolins, 2017 May 3, #1675)<br>
<br>
MS-Windows: Opening same file in a second gvim hangs. (Sven Bruggemann, 2017<br>
Jul 4)<br>
<br>
Setting&nbsp;<a class="Type" href="options.html#'clipboard'">'clipboard'</a>&nbsp;to &quot;unnamed&quot; makes a global command very slow (Daniel<br>
Drucker, 2017 May 8).<br>
This was supposed to be fixed, did it break again somehow?<br>
Christian cannot reproduce it.<br>
<br>
Using composing char in mapping does not work properly. maparg() shows the<br>
wrong thing. (Nikolai Pavlov, 2017 Jul 8, #1827)<br>
Or is this not an actual problem?<br>
<br>
Better TeX indent file. (Christian Brabandt, 2017 May 3)<br>
<br>
Openhab syntax file (mueller, #1678)<br>
<br>
Patch to use a separate code for BS on Windows. (Linwei, #1823)<br>
<br>
Use gvimext.dll from the nightly build? (Issue #249)<br>
<br>
<a class="Type" href="options.html#'synmaxcol'">'synmaxcol'</a>&nbsp;works with bytes instead of screen cells. (Llandon, 2017 May 31,<br>
#1736)<br>
<br>
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May<br>
8, #1690)<br>
<br>
Include solarized color scheme?<br>
<br>
Running test_gui and test_gui_init with Motif sometimes kills the window<br>
manager.&nbsp;&nbsp;Problem with Motif?<br>
<br>
Bogus characters inserted when triggering indent while changing text.<br>
(Vitor Antunes, 2016 Nov 22, #1269)<br>
<br>
Using &quot;wviminfo /tmp/viminfo&quot; does not store file marks that Vim knows about,<br>
it only works when merging with an existing file.&nbsp;&nbsp;(Shougo, 2017 Jun 19, #1781)<br>
<br>
Segmentation fault with complete(). (Lifepillar, 2017 Apr 29, #1668)<br>
Check for &quot;pat&quot; to be NULL in search_for_exact_line()?<br>
How did it get NULL?&nbsp;&nbsp;Comment by Christian, Apr 30.<br>
<br>
Is it possible to keep the complete menu open when calling complete()?<br>
(Prabir Shrestha, 2017 May 19, #1713)<br>
<br>
Memory leak in test97?&nbsp;&nbsp;The string is actually freed.&nbsp;&nbsp;Weird.<br>
<br>
Patch to add configure flags to skip rtl, farsi and arabic support.<br>
(Diego Carrión, #1867)<br>
<br>
assert_fails() can only check for the first error.&nbsp;&nbsp;Make it possible to have<br>
it catch multiple errors and check all of them.<br>
<br>
New value &quot;uselast&quot; for&nbsp;<a class="Type" href="options.html#'switchbuf'">'switchbuf'</a>. (Lemonboy, 2017 Apr 23, #1652)<br>
<br>
Add a toolbar in the terminal.&nbsp;&nbsp;Can be global, above all windows, or specific<br>
for one window.<br>
<br>
Make maparg() also return the raw rhs, so that it doesn't depend on&nbsp;<a class="Type" href="options.html#'cpo'">'cpo'</a>.<br>
(Brett Stahlman, 2017 May 23)<br>
Even better: add a way to disable a mapping temporarily and re-enable it<br>
later.&nbsp;&nbsp;This is for a sub-mode that is active for a short while (one buffer).<br>
Still need maplist() to find the mappings.&nbsp;&nbsp;What can we use to identify a<br>
mapping?&nbsp;&nbsp;Something unique would be better than the LHS.<br>
Perhaps simpler: actually delete the mappings.&nbsp;&nbsp;Use maplist() to list matching<br>
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,<br>
maprestore() to restore (using the output of maplist().<br>
<br>
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki<br>
Kiichi, 2016 Feb 28)<br>
Update Mar 8:&nbsp;<span class="Constant"><a href="https://gist.github.com/mattn/23c1f50999084992ca98">https://gist.github.com/mattn/23c1f50999084992ca98</a></span><br>
Update Mar 13:&nbsp;<span class="Constant"><a href="https://gist.github.com/mattn/23c1f50999084992ca98">https://gist.github.com/mattn/23c1f50999084992ca98</a></span><br>
<br>
Add an argument to :mkvimrc (or add aother command) to skip mappings from<br>
plugins (source is a Vim script).&nbsp;&nbsp;No need to put these in a .vimrc, they will<br>
be defined when the plugin is loaded.<br>
<br>
Use tb_set(winid, [{<span class="MissingTag">'text'</span>:&nbsp;<span class="MissingTag">'stop'</span>,&nbsp;<a class="Type" href="options.html#'cb'">'cb'</a>: callback,&nbsp;<a class="Type" href="options.html#'hi'">'hi'</a>: 'Green'}])<br>
&nbsp;&nbsp;&nbsp;&nbsp;tb_highlight(winid, 'ToolBar')<br>
&nbsp;&nbsp;&nbsp;&nbsp;tb_get(winid)<br>
<br>
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)<br>
What if there is an invalid character?<br>
<br>
Json string with trailing \u should be an error. (Lcd)<br>
<br>
import can't be used in define option when include matches too.<br>
(Romain Lafourcade, 2017 Jun 18, #1519)<br>
<br>
When session file has name in argument list but the buffer was deleted, the<br>
buffer is not deleted when using the session file. (#1393)<br>
Should add the buffer in hidden state.<br>
<br>
When an item in the quickfix list has a file name that does not exist, behave<br>
like the item was not a match for :cnext.<br>
<br>
Wrong diff highlighting with three files. (2016 Oct 20, #1186)<br>
Also get E749 on exit.<br>
Another example in #1309<br>
<br>
When deleting a mark or register, leave a tombstone, so that it's also deleted<br>
when writing viminfo (and the delete was the most recent action). #1339<br>
<br>
Suggestion to improve pt-br spell checking. (Marcelo D Montu, 2016 Dec 15,<br>
#1330)<br>
<br>
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)<br>
<br>
Completion for :!cmd shows each match twice. #1435<br>
<br>
Patch to change GUI behavior: instead of changing the window size change the<br>
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,<br>
#703)<br>
<br>
GTK: When adding a timer from&nbsp;<a class="Type" href="options.html#'balloonexpr'">'balloonexpr'</a>&nbsp;it won't fire, because<br>
g_main_context_iteration() doesn't return.&nbsp;&nbsp;Need to trigger an event when the<br>
timer expires.<br>
<br>
Screen update bug related to matchparen.&nbsp;&nbsp;(Chris Heath, 2017 Mar 4, #1532)<br>
<br>
Rule to use &quot;^&quot; for statusline does not work if a space is defined with<br>
highlighting for both stl and stlnc.&nbsp;&nbsp;Patch by Ken Hamada (itchyny, 2016 Dec 11)<br>
<br>
8&nbsp;&nbsp; &quot;stl&quot; and &quot;stlnc&quot; in&nbsp;<a class="Type" href="options.html#'fillchars'">'fillchars'</a>&nbsp;don't work for multi-byte characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch by Christian Wellenbrock, 2013 Jul 5.<br>
<br>
Using&nbsp;<span class="Special">CTRL-G</span>_U in InsertCharPre causes trouble for redo. (Israel Chauca<br>
Fuentes, 2017 Feb 12, #1470)<br>
<br>
Add a &quot;keytrans()&quot; function, which turns the internal byte representation of a<br>
key into a form that can be used for :map.&nbsp;&nbsp;E.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;let xx = &quot;\<span class="Special">&lt;C-Home&gt;</span>&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;echo keytrans(xx)<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;C-Home&gt;</span><br>
<br>
Check for errors E704 and E705 only does VAR_FUNC, should also do VAR_PARTIAL.<br>
(Nikolai Pavlov, 2017 Mar 13, #1557)<br>
Make a function to check for function-like type?<br>
<br>
Screen updated delayed when using&nbsp;<span class="Special">CTRL-O</span>&nbsp;u in Insert mode.<br>
(Barlik, #1191)&nbsp;&nbsp;Perhaps because status message?<br>
<br>
Implement optional arguments for functions.<br>
&nbsp;&nbsp;&nbsp;&nbsp;func Foo(start, count = 1 all = 1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;call Foo(12)<br>
&nbsp;&nbsp;&nbsp;&nbsp;call Foo(12, all = 0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;call Foo(12, 15, 0)<br>
<br>
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017<br>
Feb 14).<br>
<br>
Change the Farsi code to work with UTF-8.&nbsp;&nbsp;Possibly combined with the Arabic<br>
support, or similar.<br>
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)<br>
<br>
Add a command to take a range of lines, filter them and put the output<br>
somewhere else.&nbsp;&nbsp;:<span class="Special">{range}</span>copy&nbsp;<span class="Special">{dest}</span>&nbsp;!cmd<br>
<br>
Patch to fix that empty first tab is not in session.<br>
(Hirohito Higashi, 2016 Nov 25, #1282)<br>
<br>
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)<br>
Alternative from Christian Brabandt. (2010 Sep 19)<br>
New one from Yasuhiro Matsumoto, #1277.<br>
<br>
Patch for restoring wide characters in the console buffer.<br>
(Ken Takata, 2016 Jun 7)<br>
<br>
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)<br>
Update Oct 14:&nbsp;<span class="Constant"><a href="https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca">https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca</a></span><br>
<br>
Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)<br>
Remarks from Christian Brabandt (Apr 21)<br>
<br>
The TermResponse event is not triggered when a plugin has set&nbsp;<a class="Type" href="options.html#'eventignore'">'eventignore'</a>&nbsp;to<br>
&quot;all&quot;.&nbsp;&nbsp;Netrw does this. (Gary Johnson, 2017 Jan 24)<br>
Postpone the event until&nbsp;<a class="Type" href="options.html#'eventignore'">'eventignore'</a>&nbsp;is reset.<br>
<br>
Expanding /**/ is slow.&nbsp;&nbsp;Idea by Luc Hermitte, 2017 Apr 14.<br>
<br>
Once .exe with updated installer is available: Add remark to download page<br>
about /S and /D options (Ken Takata, 2016 Apr 13)<br>
Or point to nightly builds:&nbsp;<span class="Constant"><a href="https://github.com/vim/vim-win32-installer/releases">https://github.com/vim/vim-win32-installer/releases</a></span><br>
<br>
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,<br>
#1053)&nbsp;&nbsp;With patch, does it work?<br>
<br>
Using --remote to open a file in which a # appears does not work on<br>
MS-Windows.&nbsp;&nbsp;Perhaps in \#&nbsp;&nbsp;the \ is seen as a path separator. (Axel Bender,<br>
2017 Feb 9)&nbsp;&nbsp;Can we expand wildcards first and send the path literally to the<br>
receiving Vim?&nbsp;&nbsp;Or make an exception for #, it's not useful remotely.<br>
<br>
&quot;:sbr&quot; docs state it respect&nbsp;<a class="Type" href="options.html#'switchbuf'">'switchbuf'</a>, but &quot;vsplit&quot; does not cause a<br>
vertical split. (Haldean Brown, 2017 Mar 1)<br>
<br>
Use ADDR_OTHER instead of ADDR_LINES for many more commands.<br>
Add tests for using number larger than number of lines in buffer.<br>
<br>
Might be useful to have isreadonly(), like we have islocked().<br>
Avoids exceptions, e.g. when using the b: namespace as a dict.<br>
<br>
Patch to make v:shell_error writable. (Christian Brabandt, 2016 Sep 27)<br>
Useful to restore it.&nbsp;&nbsp;Is there another solution?<br>
<br>
&quot;ci[&quot; does not look for next [ like ci&quot; does look for next &quot;.<br>
(J.F. 2017 Jan 7)<br>
<br>
Patch for wrong cursor position on wrapped line, involving breakindent.<br>
(Ozaki Kiichi, 2016 Nov 25)<br>
Does this also fix #1408 ?<br>
<br>
Patch to add &quot;module&quot; to quickfix entries. (Coot, 2017 Jun 8, #1757)<br>
<br>
<a class="Type" href="options.html#'cursorline'">'cursorline'</a>&nbsp;and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)<br>
<br>
Patch for&nbsp;<span class="MissingTag">'cursorlinenr'</span>&nbsp;option. (Ozaki Kiichi, 2016 Nov 30)<br>
<br>
Patch to be able to separately map&nbsp;<span class="Special">CTRL-H</span>&nbsp;and BS on Windows.<br>
(Linwei, 2017 Jul 11, #1833)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'completeopt'">'completeopt'</a>&nbsp;has &quot;noselect&quot; does not insert a newline. (Lifepillar, 2017<br>
Apr 23, #1653)<br>
<br>
Using an external diff is inefficient.&nbsp;&nbsp;Not all systems have a good diff<br>
program available (esp. MS-Windows).&nbsp;&nbsp;Would be nice to have in internal diff<br>
implementation.&nbsp;&nbsp;Can then also use this for displaying changes within a line.<br>
Olaf Dabrunz is working on this. (10 Jan 2016)<br>
9&nbsp;&nbsp; Instead invoking an external diff program, use builtin code.&nbsp;&nbsp;One can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;found here:&nbsp;<span class="Constant"><a href="http://www.ioplex.com/~miallen/libmba/dl/src/diff.c">http://www.ioplex.com/~miallen/libmba/dl/src/diff.c</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;It's complicated and badly documented.<br>
<br>
Window resizing with&nbsp;<a class="Type" href="options.html#'winfixheight'">'winfixheight'</a>: With a vertical split the height changes<br>
anyway. (Tommy allen, 2017 Feb 21, #1502)<br>
<br>
When adding an item to a new quickfix list make &quot;:cnext&quot; jump to that item.<br>
Make a difference being at the first item and not having used :cnext at all.<br>
(Afanasiy Fet, 2017 Jan 3)<br>
<br>
Invalid behavior with NULL list. (Nikolai Pavlov, #768)<br>
E.g. deepcopy(test_null_list())<br>
<br>
Patch to make it possible to extend a list with itself.<br>
(Nikolai Pavlov, 2016 Sep 23)<br>
<br>
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)<br>
<br>
Patch to add trim() function. (Bukn, 2016 Nov 25, #1280)<br>
<br>
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)<br>
<br>
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)<br>
<br>
On Windows buffer completion sees backslash as escape char instead of path<br>
separator. (Toffanim, 2016 Nov 24, #1274)<br>
<br>
min() and max() spawn lots of error messages if sorted list/dictionary<br>
contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039)<br>
<br>
Should :vmap in matchit.vim be :xmap?&nbsp;&nbsp;(Tony Mechelynck)<br>
<br>
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)<br>
<br>
Undo problem: &quot;g-&quot; doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)<br>
<br>
Add &quot;unicode true&quot; to NSIS installer.&nbsp;&nbsp;Doesn't work with Windows 95, which we<br>
no longer support.<br>
<br>
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep<br>
4#1038)<br>
<br>
Patch to add &quot;cmdline&quot; completion to getcompletion(). (Shougo, Oct 1, #1140)<br>
<br>
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,<br>
#1350)<br>
<br>
Undo message is not always properly displayed.&nbsp;&nbsp;Patch by Ken Takata, 2013 oct<br>
3.&nbsp;&nbsp;Doesn't work properly according to Yukihiro Nakadaira.<br>
Also see #1635.<br>
<br>
Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)<br>
Add an argument to choose binary or non-binary (like readfile()), when omitted<br>
use the current behavior.<br>
Include the test.<br>
<br>
Patch to add tagfunc().&nbsp;&nbsp;Cleaned up by Christian Brabandt, 2013 Jun 22.<br>
New update 2017 Apr 10, #1628<br>
<br>
When&nbsp;<a class="Type" href="options.html#'keywordprg'">'keywordprg'</a>&nbsp;starts with &quot;:&quot; the argument is still escaped as a shell<br>
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)<br>
<br>
Patch to support CamelCase for spell checking: See a lower-to-upper case<br>
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)<br>
<br>
Idea from Sven: record sequence of keys.&nbsp;&nbsp;Useful to show others what they are<br>
doing (look over the shoulder), and also to see what happened.<br>
Probably list of keystrokes, with some annotations for mode changes.<br>
Could store in logfile to be able to analyse it with an external command.<br>
E.g. to see when's the last time a plugin command was used.<br>
<br>
execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,<br>
#1141)<br>
<br>
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)<br>
<br>
:map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)<br>
<br>
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)<br>
<br>
patch for&nbsp;<span class="MissingTag">'spellcamelcase'</span>&nbsp;option: spellcheck each CamelCased word.<br>
(Ben Tucker, 2016 Dec 2)<br>
<br>
When using &quot;:diffput&quot; through a mapping, undo in the target buffer isn't<br>
synced.&nbsp;&nbsp;(Ryan Carney, 2016 Sep 14)<br>
<br>
Syntax highlighting for messages with RFC3339 timestamp (#946)<br>
Did maintainer reply?<br>
<br>
Patch to avoid problem with special characters in file name.<br>
(Shougo, 2016 Sept 19, #1099)&nbsp;&nbsp;Not finished?<br>
<br>
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)<br>
Also with latest version.<br>
<br>
Cannot delete a file with square brackets with delete(). (#696)<br>
<br>
Patch to add &quot;:syn foldlevel&quot; to use fold level further down the line.<br>
(Brad King, 2016 Oct 19, update 2017 Jan 30)<br>
<br>
Completion for input() does not expand environment variables. (chdiza, 2016<br>
Jul 25, #948)<br>
<br>
Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.<br>
(Ken Takata, 2016 Oct 4)<br>
<br>
Patch to add&nbsp;<span class="MissingTag">'systemencoding'</span>, convert between&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;and this for file<br>
names, shell commands and the like.&nbsp;&nbsp;(Kikuchan, 2010 Oct 14)<br>
Assume the system converts between the actual encoding of the filesystem to<br>
the system encoding (usually utf-8).<br>
<br>
Using &quot;:tab drop file&quot; does not trigger BufEnter or TabEnter events.<br>
(Andy Stewart, 2017 Apr 27, #1660)<br>
Autocommands blocked in do_arg_all().&nbsp;&nbsp;Supposed to happen later?<br>
<br>
<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;interferes with a Conceal match. (Rom Grk, 2016 Aug 9)<br>
<br>
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?<br>
Otherwise task flickers in taskbar.<br>
<br>
Should make &quot;:@r&quot; handle line continuation. (Cesar Romani, 2016 Jun 26)<br>
Also for &quot;:@.&quot;.<br>
<br>
Repeating&nbsp;<a class="Type" href="options.html#'opfunc'">'opfunc'</a>&nbsp;in a function only works once. (Tarmean, 2016 Jul 15, #925)<br>
<br>
Have a way to get the call stack, in a function and from an exception.<br>
#1125<br>
<br>
Patch to add&nbsp;<span class="MissingTag">'pythonhome'</span>&nbsp;and&nbsp;<span class="MissingTag">'pythonthreehome'</span>&nbsp;options. (Kazuki Sakamoto,<br>
2016 Nov 21, #1266)<br>
<br>
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple<br>
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)<br>
<br>
This does not work: :set cscopequickfix=a-<br>
(Linewi, 2015 Jul 12, #914)<br>
<br>
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)<br>
<br>
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)<br>
<br>
Patch to improve map documentation. Issue #799.<br>
<br>
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)<br>
<br>
Patch for drag&amp;drop reordering of GUI tab pages reordering.<br>
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)<br>
Now on Git:&nbsp;<span class="Constant"><a href="https://gist.github.com/nocd5/165286495c782b815b94">https://gist.github.com/nocd5/165286495c782b815b94</a></span><br>
Update 2016 Aug 10.<br>
<br>
We can use '. to go to the last change in the current buffer, but how about<br>
the last change in any buffer?&nbsp;&nbsp;Can we use ', (, is next to .)?<br>
<br>
Ramel Eshed: system() is much slower than job_start(), why? (Aug 26)<br>
<br>
When generating the Unicode tables with runtime/tools/unicode.vim the<br>
emoji_width table has only one entry.<br>
<br>
It's possible to add &quot;,,&quot; to&nbsp;<a class="Type" href="options.html#'wildignore'">'wildignore'</a>, an empty entry.&nbsp;&nbsp;Causes problems.<br>
Reject the value? #710.<br>
<br>
Patch to fix increment/decrement not working properly when&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;is<br>
set. (Hirohito Higashi, 2016 Aug 1, #923)<br>
<br>
Patch to support strikethrough next to bold and italic. (Christian Brabandt,<br>
2013 Jul 30)&nbsp;&nbsp;Update from Ken Takata, 2013 Oct 12.<br>
Update mentioned by Christian, 2016 Apr 25.<br>
Update from Ken Takata, 2016 Jul 17.<br>
<br>
When doing &quot;vi buf.md&quot; a BufNew autocommand for *.md is not triggered.<br>
Because of using the initial buffer? (Dun Peal, 2016 May 12)<br>
<br>
Patch to add the :bvimgrep command.&nbsp;&nbsp;(Christian Brabandt, 2014 Nov 12)<br>
Updated 2016 Jun 10, #858&nbsp;&nbsp;Update 2017 Mar 28: use&nbsp;<span class="Special">&lt;buffer&gt;</span><br>
<br>
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)<br>
<br>
Neovim patch for utfc_ptr2char_len()&nbsp;<span class="Constant"><a href="https://github.com/neovim/neovim/pull/4574">https://github.com/neovim/neovim/pull/4574</a></span><br>
No test, needs some work to include.<br>
<br>
Patch to improve indenting for C++ constructor with initializer list.<br>
(Hirohito Higashi, 2016 Mar 31)<br>
<br>
Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)<br>
<br>
Add stronger encryption.&nbsp;&nbsp;Could use libsodium (NaCl).<br>
<span class="Constant"><a href="https://github.com/jedisct1/libsodium/">https://github.com/jedisct1/libsodium/</a></span><br>
Possibly include the needed code so that it can be build everywhere.<br>
<br>
Add a way to restart a timer.&nbsp;&nbsp;It's similar to timer_stop() and timer_start(),<br>
but the reference remains valid.<br>
<br>
Need to try out instructions in INSSTALLpc.txt about how to install all<br>
interfaces and how to build Vim with them.<br>
Appveyor build with self-installing executable, includes getting most<br>
interfaces:&nbsp;<span class="Constant"><a href="https://github.com/k-takata/vim/tree/chrisbra-appveyor-build">https://github.com/k-takata/vim/tree/chrisbra-appveyor-build</a></span><br>
result:&nbsp;<span class="Constant"><a href="https://ci.appveyor.com/project/k-takata/vim/history">https://ci.appveyor.com/project/k-takata/vim/history</a></span><br>
<br>
Duplication of completion suggestions for &quot;:!hom&quot;.&nbsp;&nbsp;Issue 539.<br>
Patch by Christian, 2016 Jan 29<br>
<br>
Problem that a previous silent &quot;:throw&quot; causes a following try/catch not to<br>
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)<br>
<br>
Problem using &quot;:try&quot; inside &quot;:execute&quot;. (ZyX, 2013 Sep 15)<br>
<br>
Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)<br>
<br>
Add &quot;:read :command&quot;, to insert the output of an Ex command?<br>
Can already do it with &quot;:$put =execute(<span class="MissingTag">'command'</span>)&quot;.<br>
<br>
When repeating the&nbsp;<a class="Type" href="options.html#'confirm'">'confirm'</a>&nbsp;dialog one needs to press Enter. (ds26gte, 2016<br>
Apr 17)&nbsp;&nbsp;#762<br>
<br>
exists(&quot;:tearoff&quot;) does not tell you if the command is implemented. (Tony<br>
Mechelynck)&nbsp;&nbsp;Perhaps use exists(&quot;::tearoff&quot;) to check?<br>
<br>
Use vim.vim syntax highlighting for help file examples, but without &quot;:&quot; in<br>
<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;for syntax.<br>
<br>
Patch to make &quot;%:h:h&quot; return &quot;.&quot; instead of the full path.<br>
(Coot, 2016 Jan 24, #592)<br>
<br>
Remove SPACE_IN_FILENAME ? What could possibly go wrong?<br>
<br>
When command names are very long :command output is difficult to read.&nbsp;&nbsp;Use a<br>
maximum for the column width?&nbsp;&nbsp;(#871)<br>
Patcy by varmanishant, 2016 Jun 18, #876<br>
<br>
Installation of .desktop files does not work everywhere.<br>
It's now fixed, but the target directory probably isn't right.<br>
Add configure check?<br>
Should use /usr/local/share/applications or /usr/share/applications.<br>
Or use $XDG_DATA_DIRS.<br>
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)<br>
<br>
Test object i{ and it do not behave the same. #1379<br>
Do not include the linebreak at the start?<br>
<br>
Patch to have text objects defined by arbitrary single characters. (Daniel<br>
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)<br>
Added tests (James McCoy, 2016 Aug 3).&nbsp;&nbsp;Still needs more work.<br>
<br>
Feature request: add the &quot;al&quot; text object, to manipulate a screen line.<br>
Especially useful when using&nbsp;<a class="Type" href="options.html#'linebreak'">'linebreak'</a><br>
<br>
Access to uninitialized memory in match_backref() regexp_nda.c:4882<br>
(Dominique Pelle, 2015 Nov 6)<br>
<br>
&quot;:cd C:\Windows\System32\drivers\etc*&quot; does not work, even though the<br>
directory exists. (Sergio Gallelli, 2013 Dec 29)<br>
<br>
In debug mode one can inspect variables, but not the function parameters<br>
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)<br>
<br>
7&nbsp;&nbsp; Add a watchpoint in the debug mode: An expression that breaks execution<br>
&nbsp;&nbsp;&nbsp;&nbsp;when evaluating to non-zero.&nbsp;&nbsp;Add the &quot;watchadd expr&quot; command, stop when<br>
&nbsp;&nbsp;&nbsp;&nbsp;the value of the expression changes.&nbsp;&nbsp;&quot;:watchdel&quot; deletes an item,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:watchlist&quot; lists the items. (Charles Campbell)<br>
Patch by Christian Brabandt, 2016 Jun 10, #859<br>
<br>
If &quot;:bd&quot; also closes a Tab page then the &quot; mark is not set.&nbsp;&nbsp;(Harm te Hennepe,<br>
2016 Apr 25, #780)<br>
<br>
Patch to avoid redrawing tabline when the popup menu is visible.<br>
(Christian Brabandt, 2016 Jan 28)<br>
<br>
Patch to add&nbsp;<span class="Special">{skip}</span>&nbsp;argument to search(). (Christian Brabandt, 2016 Feb 24)<br>
Update 2016 Jun 10, #861<br>
<br>
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)<br>
Update Sep 7.&nbsp;&nbsp;Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.<br>
<br>
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)<br>
<br>
When the CursorMovedI event triggers, and&nbsp;<span class="Special">CTRL-X</span>&nbsp;was typed, a script cannot<br>
restore the mode properly. (Andrew Stewart, 2016 Apr 20)<br>
Do not trigger the event?<br>
<br>
Using &quot;:windo&quot; to set options in all windows has the side effect that it<br>
changes the window layout and the current window.&nbsp;&nbsp;Make a variant that saves<br>
and restores.&nbsp;&nbsp;Use in the matchparen plugin.<br>
Perhaps we can use &quot;:windo&nbsp;<span class="Special">&lt;restore&gt;</span>&nbsp;<span class="Special">{cmd}</span>&quot;?<br>
Patch to add&nbsp;<span class="Special">&lt;restore&gt;</span>&nbsp;to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan<br>
6, 2nd message)<br>
Alternative: &quot;:keeppos&quot; command modifier: &quot;:keeppos windo&nbsp;<span class="Special">{cmd}</span>&quot;.<br>
<br>
Patch to fix that executable() may fail on very long filename in MS-Windows.<br>
(Ken Takata, 2016 Feb 1)<br>
<br>
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)<br>
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:<br>
<span class="Constant"><a href="https://gist.github.com/presuku/d3d6b230b9b6dcfc0477">https://gist.github.com/presuku/d3d6b230b9b6dcfc0477</a></span><br>
<br>
Patch to make the behavior of &quot;w&quot; more straightforward, but not Vi compatible.<br>
With a&nbsp;<a class="Type" href="options.html#'cpo'">'cpo'</a>&nbsp;flag.&nbsp;&nbsp;(Christian Brabandt, 2016 Feb 8)<br>
<br>
Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 27, update Apr 13)<br>
<br>
Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)<br>
<br>
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)<br>
Only remembers one error.<br>
<br>
Gvim: when both Tab and&nbsp;<span class="Special">CTRL-I</span>&nbsp;are mapped, use&nbsp;<span class="Special">CTRL-I</span>&nbsp;not for Tab.<br>
<br>
Unexpected delay when using&nbsp;<span class="Special">CTRL-O</span>&nbsp;u.&nbsp;&nbsp;It's not timeoutlen.<br>
(Gary Johnson, 2015 Aug 28)<br>
<br>
Instead of separately uploading patches to the ftp site, we can get them from<br>
github with a URL like this:<br>
&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff">https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff</a></span><br>
Diff for version.c contains more context, can't skip a patch.<br>
<br>
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't<br>
triggered.&nbsp;&nbsp;Use the code from the end of set_num_option() in<br>
set_color_count().<br>
<br>
Python: &quot;:py raw_input(<a class="Type" href="options.html#'prompt'">'prompt'</a>)&quot; doesn't work. (Manu Hack)<br>
<br>
Comparing nested structures with &quot;==&quot; uses a different comparator than when<br>
comparing individual items.<br>
Also, &quot;'' == 0&quot; evaluates to true, which isn't nice.<br>
Add &quot;===&quot; to have a strict comparison (type and value match).<br>
Add &quot;==*&quot; (?) to have a value match, but no automatic conversion, and v:true<br>
equals 1 and 1.0, v:false equals 0 and 0.0.?<br>
<br>
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)<br>
<br>
MS-Windows: When editing a file with a leading space, writing it uses the<br>
wrong name. (Aram, 2014 Nov 7)&nbsp;&nbsp;Vim 7.4.<br>
<br>
Can't recognize the $ProgramFiles(x86) environment variable.&nbsp;&nbsp;Recognize it<br>
specifically?&nbsp;&nbsp;First try with the parens, then without.<br>
<br>
Patch to add :mapgroup, put mappings in a group like augroup.<br>
(Yasuhiro Matsumoto, 2016 Feb 19)<br>
<br>
Value returned by virtcol() changes depending on how lines wrap.&nbsp;&nbsp;This is<br>
inconsistent with the documentation.<br>
<br>
Value of virtcol() for '[ and '] depend on multi-byte character.<br>
(Luchr, #277)<br>
<br>
Can we cache the syntax attributes, so that updates for&nbsp;<a class="Type" href="options.html#'relativenumber'">'relativenumber'</a>&nbsp;and<br>
<a class="Type" href="options.html#'cursorline'">'cursorline'</a>/<a class="Type" href="options.html#'cursorcolumn'">'cursorcolumn'</a>&nbsp;are a lot faster?&nbsp;&nbsp;Thus store the attributes<br>
before combining them.<br>
<br>
C highlighting: modern C allows: /* comment */ #ifdef<br>
and also line continuation after #include.<br>
I can't recommend it though.<br>
<br>
Build with Python on Mac does not always use the right library.<br>
(Kazunobu Kuriyama, 2015 Mar 28)<br>
<br>
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan<br>
24)&nbsp;&nbsp;Also need a way to get the global arg list?&nbsp;&nbsp;Update later on Jan 24<br>
Update Mar 5. Update Apr 7.&nbsp;&nbsp;Update Jun 5.<br>
<br>
To support Thai (and other languages) word boundaries, include the ICU<br>
library:&nbsp;&nbsp;<span class="Constant"><a href="http://userguide.icu-project.org/boundaryanalysis">http://userguide.icu-project.org/boundaryanalysis</a></span><br>
<br>
When complete() first argument is before where insert started and&nbsp;<a class="Type" href="options.html#'backspace'">'backspace'</a><br>
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)<br>
<br>
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan<br>
30)<br>
<br>
MS-Windows: Crash opening very long file name starting with &quot;\\&quot;.<br>
(Christian Brock, 2012 Jun 29)<br>
<br>
The OptionSet autocommand event is not always triggered. (Rick Howe, 2015 Sep<br>
24): :diffthis, :diffoff.<br>
<br>
&quot;:set all&amp;&quot; still does not handle all side effects.&nbsp;&nbsp;Centralize handling side<br>
effects for when set by the user, on init and when reset to default.<br>
<br>
&quot;:tag&quot; does not jump to the right entry of a :tselect. (James Speros, 2015 Oct<br>
9)<br>
<br>
The argument for &quot;-S&quot; is not taken literally, the &quot;:so&quot; command expands<br>
wildcards.&nbsp;&nbsp;Add a &quot;:nowild&quot; command modifier?&nbsp;&nbsp;(ZyX, 2015 March 4)<br>
<br>
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)<br>
Update Aug 14.<br>
<br>
When using --remote-tab on MS-Windows&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;hasn't been initialized yet,<br>
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)<br>
<br>
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015<br>
Sep 10)<br>
<br>
Example in editing.txt uses $HOME with the expectation that it ends in a<br>
slash.&nbsp;&nbsp;For me it does, but perhaps not for everybody.&nbsp;&nbsp;Add a function that<br>
inserts a slash when needed?&nbsp;&nbsp;pathconcat(dir, path) (Thilo Six, 2015 Aug 12)<br>
<br>
ml_updatechunk() is slow when retrying for another encoding. (John Little,<br>
2014 Sep 11)<br>
<br>
Patch to fix checking global option value when not using it.<br>
(Arnaud Decara, 2015 Jul 23)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;is set repeating a Visual operation counts the size of the<br>
<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;text as part of the operation. (Axel Bender, 2015 Jul 20)<br>
<br>
Patch for multi-byte characters in langmap and applying a mapping on them.<br>
(Christian Brabandt, 2015 Jun 12, update July 25)<br>
Is this the right solution?&nbsp;&nbsp;Need to cleanup langmap behavior:<br>
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in<br>
&nbsp;&nbsp;a copy-buffer, only when langmap is appropriate for the current mode. Then<br>
&nbsp;&nbsp;check for mapping and let gotchars() work on the copy-buffer.<br>
- Remove LANGMAP_ADJUST() in other parts of the code.&nbsp;&nbsp;Make sure the mode is<br>
&nbsp;&nbsp;covered by the above change.<br>
So that replaying the register doesn't use keymap/langmap and still does the<br>
same thing.&nbsp;&nbsp;Remarks on issue 543 (Roland Puntaier).<br>
Also see #737: langmap not applied to replaying recording.<br>
<br>
Patch to add grepfile(). (Scott Prager, 2015 May 26)<br>
Work in progress.<br>
<br>
Would be useful to have a treemap() or deepmap() function.&nbsp;&nbsp;Like map() but<br>
when an item is a list or dict would recurse into it.<br>
<br>
Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)<br>
Is this right?<br>
<br>
Patch to make getregtype() return the right size for non-linux systems.<br>
(Yasuhiro Matsumoto, 2014 Jul 8)<br>
Breaks test_eval.&nbsp;&nbsp;Inefficient, can we only compute y_width when needed?<br>
<br>
Patch to use different terminal mode settings for system(). (Hayaki Saito)<br>
Does this work for everybody?<br>
<br>
Patch for man.vim. (SungHyun Nam, 2015 May 20)<br>
Doesn't work completely (Dominique Orban)<br>
<br>
Patch to add a &quot;literal&quot; argument to bufnr().&nbsp;&nbsp;(Olaf Dabrunz, 2015 Aug 4)<br>
<br>
Cannot execute the shell when it's in a directory with a space.<br>
Issue #459.<br>
<br>
When a session file is created and there are &quot;nofile&quot; buffers, these are not<br>
filled.&nbsp;&nbsp;Need to trigger BufReadCmd autocommands.&nbsp;&nbsp;Also handle deleting the<br>
initial empty buffer better. (ZyX, 2015 March 8)<br>
<br>
Extended file attributes lost on write (backupcopy=no).&nbsp;&nbsp;Issue 306.<br>
<br>
Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)<br>
OK to not block marks?<br>
<br>
Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)<br>
<br>
Patch on Issue 72:&nbsp;<a class="Type" href="options.html#'autochdir'">'autochdir'</a>&nbsp;causes problems for :vimgrep.<br>
<br>
When two SIGWINCH arrive very quickly, the second one may be lost.<br>
(Josh Triplett, 2015 Sep 17)<br>
<br>
Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)<br>
<br>
Result of systemlist() does not show whether text ended in line break.<br>
(Bjorn Linse, 2014 Nov 27)<br>
<br>
When in&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;&quot;n:x&quot; follows after three-part comment directly it repeats<br>
any one-character from the previous line. (Kartik Agaram, 2014 Sep 19)<br>
<br>
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)<br>
<br>
Adding &quot;~&quot; to&nbsp;<a class="Type" href="options.html#'cdpath'">'cdpath'</a>&nbsp;doesn't work for completion?&nbsp;&nbsp;(Davido, 2013 Aug 19)<br>
<br>
Should be easy to highlight all matches with&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>.&nbsp;&nbsp;Idea by Itchyny,<br>
2015 Feb 6.<br>
<br>
Wrong scrolling when using incsearch.&nbsp;&nbsp;Patch by Christian Brabandt, 2014 Dec 4.<br>
Is this a good solution?<br>
<br>
Patch: Let rare word highlighting overrule good word highlighting.<br>
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)<br>
<br>
Patch to add digits argument to round(). (Yasuhiro Matsumoto, 2015 Apr 26)<br>
<br>
Can assign to s:type when a function s:type has been defined.<br>
Also the other way around: define a function while a variable with that name<br>
was already defined.<br>
(Yasuhiro Matsumoto, 2014 Nov 3)<br>
<br>
Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)<br>
<br>
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)<br>
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)<br>
Updated patch by Roland Eggner, Dec 16<br>
Updated patch from Charles, 2016 Jul 2<br>
<br>
Patch to open folds for&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>. (Christian Brabandt, 2015 Jan 6)<br>
<br>
Patch for building a 32bit Vim with 64bit MingW compiler.<br>
(Michael Soyka, 2014 Oct 15)<br>
<br>
Delete old code in os_msdos.c, mch_FullName().<br>
<br>
Patch: On MS-Windows shellescape() may have to triple double quotes.<br>
(Ingo Karkat, 2015 Jan 16)<br>
<br>
Patch for variable tabstops.&nbsp;&nbsp;On github (Christian Brabandt, 2014 May 15)<br>
Update 2016 Jun 10, # 857<br>
<br>
Redo only remembers the last change.&nbsp;&nbsp;Could use &quot;<span class="Special">{count}</span>g.&quot; to redo an older<br>
change.&nbsp;&nbsp;How does the user know which change?&nbsp;&nbsp;At least have a way to list<br>
them: &quot;:repeats&quot;.<br>
<br>
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)<br>
<br>
When entering and leaving the preview window autocommands are triggered, but<br>
these may not work well.&nbsp;&nbsp;Perhaps set a flag to indicate that the preview<br>
window is involved? (John Otter, 2015 Oct 27)<br>
<br>
Using &quot;.&quot; to repeat an Ex command puts that command in history.&nbsp;&nbsp;Probably<br>
should not happen.&nbsp;&nbsp;If the command is the result of a mapping it's not put in<br>
history either. (Jacob Niehus, 2014 Nov 2)<br>
Patch from Jacob, Nov 2.<br>
<br>
&quot;hi link&quot; does not respect groups with GUI settings only. (Mark Lodato, 2014<br>
Jun 8)<br>
<br>
Bug: Autocompleting &quot;:tag/pat&quot; replaces &quot;/pat&quot; with a match but does not<br>
insert a space. (Micha Mos, 2014 Nov 7)<br>
<br>
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)<br>
<br>
No error for missing endwhile. (ZyX, 2014 Mar 20)<br>
<br>
Patch to make extend() fail early when it might fail at some point.<br>
(Olaf Dabrunz, 2015 May 2)&nbsp;&nbsp;Makes extend() slower, do we still want it?<br>
Perhaps only the checks that can be done without looping over the dict or<br>
arguments.<br>
<br>
Problem with transparent and matchgroup.&nbsp;&nbsp;Issue #475<br>
<br>
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)<br>
<br>
Spell files use a latin single quote. Unicode also has another single quote:<br>
0x2019.&nbsp;&nbsp;(Ron Aaron, 2014 Apr 4)<br>
New OpenOffice spell files support this with ICONV.&nbsp;&nbsp;But they are not<br>
compatible with Vim spell files.&nbsp;&nbsp;The old files can no longer be downloaded.<br>
<br>
xterm should be able to pass focus changes to Vim, so that Vim can check for<br>
buffers that changed.&nbsp;&nbsp;Perhaps in misc.c, function selectwindow().<br>
Xterm 224 supports it!<br>
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki<br>
Saito, 2013 Apr 24) Update 2016 Aug 12.<br>
Also see issue #609.<br>
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.<br>
<br>
Idea: For a window in the middle (has window above and below it), use<br>
right-mouse-drag on the status line to move a window up/down without changing<br>
its height?&nbsp;&nbsp;It's like dragging the status bar above it at the same time.<br>
<br>
Can we make &quot;:unlet $VAR&quot; use unsetenv() to delete the env var?<br>
What for systems that don't have unsetenv()?&nbsp;&nbsp;(Issue #1116)<br>
<br>
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)<br>
<br>
This does not give an error: (Andre Sihera, 2014 Mar 21)<br>
&nbsp;&nbsp;&nbsp;&nbsp;vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'<br>
This neither: (ZyX)<br>
&nbsp;&nbsp;&nbsp;&nbsp;vim -u NONE 1 2 3 -c 'bufdo while 1 | echo 1'<br>
<br>
<a class="Type" href="options.html#'viewdir'">'viewdir'</a>&nbsp;default on MS-Windows is not a good choice, it's a system directory.<br>
Change&nbsp;<a class="Type" href="options.html#'viewdir'">'viewdir'</a>&nbsp;to &quot;$HOME/vimfiles/view&quot; and use&nbsp;<span class="MissingTag">'viewdiralt'</span>&nbsp;to also read<br>
from?<br>
<br>
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,<br>
2014 Jun 8)<br>
<br>
Include a plugin manager with Vim? Neobundle seems to be the best currently.<br>
Also Vundle:&nbsp;<span class="Constant"><a href="https://github.com/gmarik/vundle">https://github.com/gmarik/vundle</a></span><br>
Long message about this from ZyX, 2014 Mar 23.&nbsp;&nbsp;And following replies.<br>
Also see&nbsp;<span class="Constant"><a href="http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html">http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html</a></span><br>
User view:<br>
- Support multiple sources, basically any <a href="http://">http://</a> URL. Or a central place that<br>
&nbsp;&nbsp;will work for everybody (github?&nbsp;&nbsp;redirects from vim.org?).<br>
&nbsp;&nbsp;Be able to look into the files before deciding to install.<br>
- Be able to try out a plugin and remove it again with (almost) no traces.<br>
- Each plugin needs a &quot;manifest&quot; file that has the version, dependencies<br>
&nbsp;&nbsp;(including Vim version and features), conflicts, list of files, etc.<br>
&nbsp;&nbsp;Updater uses that to decide what/how to update.<br>
&nbsp;&nbsp;Dependencies can use a URL for specific versions, or short name for scripts<br>
&nbsp;&nbsp;on vim.org.<br>
- Once a plugin is installed it remembers where it came from, updater checks<br>
&nbsp;&nbsp;there.&nbsp;&nbsp;Can manually update when really needed.<br>
- Must be possible to install for one user.&nbsp;&nbsp;Also system wide?<br>
- Can edit plugin config with Vim. Can temporarily disable a plugin.<br>
- Run the update manually, find latest version and install.<br>
- Be able to download without special tools, must work for 95% of users.<br>
Implementation:<br>
- Avoid the&nbsp;<a class="Type" href="options.html#'runtimepath'">'runtimepath'</a>&nbsp;getting long.&nbsp;&nbsp;Need some other way to keep each<br>
&nbsp;&nbsp;plugin separate.<br>
- When installing or updating, first figure out what needs to be done. This<br>
&nbsp;&nbsp;may involve recursively fetching manifest files for dependencies.&nbsp;&nbsp;Then show<br>
&nbsp;&nbsp;the user what's going to change and ask for OK.<br>
- Scripts on Vim.org must be able to consist of several files.&nbsp;&nbsp;Is zip format<br>
&nbsp;&nbsp;sufficient?&nbsp;&nbsp;Upload the manifest?&nbsp;&nbsp;Or refer to a site that has the manifest?<br>
- Best is to fetch individual files or use a Vimball. Reduces dependency on<br>
&nbsp;&nbsp;tools that might be missing and allows inspection of the files before<br>
&nbsp;&nbsp;installing.<br>
Out of scope:<br>
- Overview of plugins, ratings, comments, etc.&nbsp;&nbsp;That's another world.<br>
- Development work on plugins (although diff with distributed version would be<br>
&nbsp;&nbsp;useful).<br>
<br>
Setting the spell file in a session only reads the local additions, not the<br>
normal spell file. (Enno Nagel, 2014 Mar 29)<br>
<br>
When typing the first character of a command, e.g. &quot;f&quot;, then using a menu, the<br>
menu item doesn't work.&nbsp;&nbsp;Clear typeahead when using a menu?<br>
<br>
Editing an ascii file as ucs-2 or ucs-4 causes display errors.<br>
(ZyX, 2014 Mar 30)<br>
<br>
&quot;:Next 1 some-arg&quot; does not complain about trailing argument.&nbsp;&nbsp;Also for<br>
various other commands.&nbsp;&nbsp;(ZyX, 2014 Mar 30)<br>
<br>
Patch to skip sort if no line matches the expression.<br>
(Christian Brabandt, 2014 Jun 25)<br>
<br>
VMS: Select() doesn't work properly, typing ESC may hang Vim.&nbsp;&nbsp;Use sys$qiow<br>
instead. (Samuel Ferencik, 2013 Sep 28)<br>
<br>
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)<br>
Remark on the docs.&nbsp;&nbsp;Should not be a compile time feature.&nbsp;&nbsp;But then what?<br>
<br>
Completion of &quot;:e&quot; is &quot;:earlier&quot;, should be &quot;:edit&quot;.&nbsp;&nbsp;Complete to the matching<br>
command instead of doing this alphabetically. (Mikel Jorgensen)<br>
<br>
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)<br>
<br>
Several syntax file match &quot;^\s*&quot; which may get underlined if that's in the<br>
highlight group.&nbsp;&nbsp;Add a &quot;\zs&quot; after it?<br>
<br>
The undo file name can get too long. (Issue 346)<br>
For the path use a hash instead of dir%dir%dir%name&nbsp;&nbsp;hash%name.<br>
<br>
Patch to add &quot;:undorecover&quot;, get as much text out of the undo file as<br>
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)<br>
<br>
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)<br>
<br>
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)<br>
<br>
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)<br>
<br>
Patch to add &quot;ntab&quot; item in&nbsp;<a class="Type" href="options.html#'listchars'">'listchars'</a>&nbsp;to repeat first character. (Nathaniel<br>
Braun, pragm, 2013 Oct 13)&nbsp;&nbsp;A better solution 2014 Mar 5.<br>
<br>
7&nbsp;&nbsp; Windows XP: When using &quot;ClearType&quot; for text smoothing, a column of yellow<br>
&nbsp;&nbsp;&nbsp;&nbsp;pixels remains when typing spaces in front of a &quot;D&quot; (<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;set to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;lucida_console:h8&quot;).<br>
Patch by Thomas Tuegel, also for GTK, 2013 Nov 24<br>
<br>
:help gives example for z?, but it does not work.&nbsp;&nbsp;m? and t? do work.<br>
<br>
Patch to add funcref to Lua.&nbsp;&nbsp;(Luis Carvalho, 2013 Sep 4)<br>
With tests: Sep 5.<br>
<br>
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)<br>
<br>
Checking runtime scripts: Thilo Six, 2012 Jun 6.<br>
<br>
When evaluating expression in backticks, autoload doesn't work.<br>
(Andy Wokula, 2013 Dec 14)<br>
<br>
Using&nbsp;<span class="Special">&lt;nr&gt;</span>ifoobar<span class="Special">&lt;esc&gt;</span>&nbsp;can slow down Vim.&nbsp;&nbsp;Patch by Christian Brabandt, 2013<br>
Dec 13.<br>
<br>
Patch from Christian Brabandt to preserve upper case marks when wiping out a<br>
buffer. (2013 Dec 9)<br>
<br>
GTK: problem with 'L' in&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;changing the window width.<br>
(Aaron Cornelius, 2012 Feb 6)<br>
<br>
Patch to add option that tells whether small deletes go into the numbered<br>
registers. (Aryeh Leib Taurog, 2013 Nov 18)<br>
<br>
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.<br>
<br>
The BufUnload event is triggered when re-using the empty buffer.<br>
(Pokey Rule, 2013 Jul 22)<br>
Patch by Marcin Szamotulski, 2013 Jul 22.<br>
<br>
The CompleteDone autocommand needs some info passed to it:<br>
- The word that was selected (empty if abandoned complete)<br>
- Type of completion: tag, omnifunc, user func.<br>
<br>
Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)<br>
Doesn't work for string in list.&nbsp;&nbsp;Other way to pass all types of variables<br>
reliably?<br>
<br>
Using &quot;:call foo#d.f()&quot; doesn't autoload the &quot;foo.vim&quot; file.<br>
That is, calling a dictionary function on an autoloaded dict.<br>
Works OK for echo, just not for&nbsp;&nbsp;&quot;:call&quot; and &quot;:call call()&quot;. (Ted, 2011 Mar<br>
17)<br>
Patch by Christian Brabandt, 2013 Mar 23.<br>
Not 100% sure this is the right solution.<br>
<br>
Patch to add&nbsp;<span class="Special">{lhs}</span>&nbsp;to :mapclear: clear all maps starting with&nbsp;<span class="Special">{lhs}</span>.<br>
(Christian Brabandt, 2013 Dec 9)<br>
<br>
Exception caused by argument of return is not caught by try/catch.<br>
(David Barnett, 2013 Nov 19)<br>
<br>
Patch to fix that&nbsp;<a class="Type" href="options.html#'cedit'">'cedit'</a>&nbsp;is recognized after :normal. (Christian Brabandt,<br>
2013 Mar 19, later message)<br>
<br>
Patch to view coverage of the tests. (Nazri Ramliy, 2013 Feb 15)<br>
<br>
Patch to invert characters differently in GTK. (Yukihiro Nakadaira, 2013 May<br>
5)<br>
<br>
Patch to add &quot;Q&quot; and &quot;A&quot; responses to interactive :substitute. They are<br>
carried over when using :global. (Christian Brabandt, 2013 Jun 19)<br>
<br>
Bug with&nbsp;<a class="Type" href="options.html#'cursorline'">'cursorline'</a>&nbsp;in diff mode.&nbsp;&nbsp;Line being scrolled into view gets<br>
highlighted as the cursor line.&nbsp;&nbsp;(Alessandro Ivaldi, 2013 Jun 4)<br>
<br>
Two highlighting bugs. (ZyX, 2013 Aug 18)<br>
<br>
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep<br>
28)&nbsp;&nbsp;With tests: Oct 9.<br>
<br>
Patch from Christian Brabandt to make the &quot;buffer&quot; argument for &quot;:sign place&quot;<br>
optional. (2013 Jul 12)<br>
<br>
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)<br>
<br>
Improve the installer for MS-Windows.&nbsp;&nbsp;There are a few alternatives:<br>
- Add silent install option. (Shane Lee, #751)<br>
- Installer from Cream (Steve Hall).<br>
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="https://github.com/gpwen/vim-installer-mui2">https://github.com/gpwen/vim-installer-mui2</a></span><br>
-&nbsp;&nbsp;make it possible to do a silent install, see<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://nsis.sourceforge.net/Docs/Chapter4.html#4.12">http://nsis.sourceforge.net/Docs/Chapter4.html#4.12</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;Version from Guopeng Wen does this.<br>
- MSI installer:&nbsp;<span class="Constant"><a href="https://github.com/petrkle/vim-msi/">https://github.com/petrkle/vim-msi/</a></span><br>
- The one on Issue 279.<br>
Problem: they all work slightly different (e.g. don't install vimrun.exe).<br>
How to test that it works well for all Vim users?<br>
<br>
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)<br>
<br>
-&nbsp;&nbsp; Add regex for&nbsp;<a class="Type" href="options.html#'paragraphs'">'paragraphs'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'sections'">'sections'</a>:&nbsp;<span class="MissingTag">'parare'</span>&nbsp;and&nbsp;<span class="MissingTag">'sectre'</span>.&nbsp;&nbsp;Combine<br>
&nbsp;&nbsp;&nbsp;&nbsp;the two into a regex for searching. (Ned Konz)<br>
Patch by Christian Brabandt, 2013 Apr 20, unfinished.<br>
<br>
Bug: findfile(&quot;any&quot;, &quot;<span class="Constant">file:///tmp</span>;&quot;) does not work.<br>
<br>
In the ATTENTION message about an existing swap file, mention the name of the<br>
process that is running.&nbsp;&nbsp;It might actually be some other program, e.g. after<br>
a reboot.<br>
<br>
patch to add &quot;combine&quot; flag to&nbsp;&nbsp;syntax commands. (so8res, 2012 Dec 6)<br>
<br>
Syntax update problem in one buffer opened in two windows, bottom window is<br>
not correctly updated. (Paul Harris, 2012 Feb 27)<br>
<br>
Patch to add getsid(). (Tyru, 2011 Oct 2)&nbsp;&nbsp;Do we want this?&nbsp;&nbsp;Update Oct 4.<br>
Or use expand('<span class="Special">&lt;sid&gt;</span>')?<br>
<br>
Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)<br>
<br>
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)<br>
<br>
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)<br>
<br>
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)<br>
<br>
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan<br>
7)<br>
<br>
Win32: The Python interface only works with one version of Python, selected at<br>
compile time.&nbsp;&nbsp;Can this be made to work with version 2.1 and 2.2 dynamically?<br>
<br>
Python: Be able to define a Python function that can be called directly from<br>
Vim script.&nbsp;&nbsp;Requires converting the arguments and return value, like with<br>
vim.bindeval().<br>
<br>
Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,<br>
2012 Aug 4)<br>
<br>
Patch to improve equivalence classes in regexp patterns.<br>
(Christian Brabandt, 2013 Jan 16, update Jan 17)<br>
<br>
Patch to add new regexp classes :ident:, :keyword:, :fname:.<br>
(ichizok, 2016 Jan 12, #1373)<br>
<br>
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)<br>
But use Gnome instead of GTK?<br>
<br>
Should be possible to enable/disable matchparen per window or buffer.<br>
Add a check for b:no_match_paren in Highlight_matching_Pair() (Marcin<br>
Szamotulski, 2012 Nov 8)<br>
<br>
Session file creation:&nbsp;<a class="Type" href="options.html#'autochdir'">'autochdir'</a>&nbsp;causes trouble.&nbsp;&nbsp;Keep it off until after<br>
loading all files.<br>
<br>
MS-Windows resizing problems:<br>
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun<br>
&nbsp;&nbsp;20.&nbsp;&nbsp;Uses getWindowRect() instead of GetWindowPlacement()<br>
- Win32: When the taskbar is at the top of the screen creating the tabbar<br>
&nbsp;&nbsp;causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan<br>
&nbsp;&nbsp;12) Patch: 2012 Jan 13&nbsp;&nbsp;Needs more work (2012 Feb 2)<br>
<br>
<a class="Type" href="options.html#'iminsert'">'iminsert'</a>&nbsp;global value set when using &quot;:setlocal iminsert&quot;? (Wu, 2012 Jun 23)<br>
<br>
Patch to append regexp to tag commands to make it possible to select one out<br>
of many matches. (Cody Cutler, 2013 Mar 28)<br>
<br>
The input map for&nbsp;<span class="Special">CTRL-O</span>&nbsp;in mswin.vim causes problems after&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-O</span>.<br>
Suggestion for another map. (Philip Mat, 2012 Jun 18)<br>
But use &quot;gi&quot; instead of &quot;a&quot;.&nbsp;&nbsp;Or use&nbsp;<span class="Special">CTRL-\</span>&nbsp;<span class="Special">CTRL-O</span>.<br>
<br>
Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012<br>
Aug 16)<br>
<br>
When there are no command line arguments &quot;:next&quot; and &quot;:argu&quot; give E163, which<br>
is confusing.&nbsp;&nbsp;Should say &quot;the argument list is empty&quot;.<br>
<br>
URXVT:<br>
- will get stuck if byte sequence does not contain the expected semicolon.<br>
- Use urxvt mouse support also in xterm.&nbsp;&nbsp;Explanations:<br>
&nbsp;&nbsp;<span class="Constant"><a href="http://www.midnight-commander.org/ticket/2662">http://www.midnight-commander.org/ticket/2662</a></span><br>
<br>
Patch to have the fold and sign column and at the last line of the buffer.<br>
(Marco Hinz, 2014 Sep 25)<br>
Alternate suggestion: let all columns continue, also the number column.<br>
<br>
Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)<br>
New tests Jul 13.&nbsp;&nbsp; Update Jul 17.&nbsp;&nbsp;Discussion Jul 18.<br>
<br>
When running Vim in silent ex mode, an existing swapfile causes Vim to wait<br>
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)<br>
Do give the prompt? Quit with an error?<br>
<br>
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)<br>
<br>
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug<br>
24)<br>
<br>
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)<br>
<br>
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)<br>
<br>
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013<br>
Apr 18)<br>
<br>
Patch for has(<span class="MissingTag">'unnamedplus'</span>) docs. (Tony Mechelynck, 2011 Sep 27)<br>
And one for gui_x11.txt.<br>
<br>
&quot;:cd&quot; doesn't work when current directory path contains &quot;**&quot;.<br>
finddir() has the same problem.&nbsp;&nbsp;(Yukihiro Nakadaira, 2012 Jan 10)<br>
Requires a rewrite of the file_file_in_path code.<br>
<br>
Should use has(&quot;browsefilter&quot;) in ftplugins.&nbsp;&nbsp;Requires patch 7.3.593.<br>
<br>
Update for vim2html.pl. (Tyru, 2013 Feb 22)<br>
<br>
Patch to sort functions starting with '&lt;' after others.&nbsp;&nbsp;Omit dict functions,<br>
they can't be called. (Yasuhiro Matsumoto, 2011 Oct 11)<br>
<br>
Patch to pass list to or(), and() and xor(). (Yasuhiro Matsumoto, 2012 Feb 8)<br>
<br>
Patch to improve &quot;it&quot; and &quot;at&quot; text object matching. (Christian Brabandt, 2011<br>
Nov 20)<br>
<br>
Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)<br>
Update Jun 2.<br>
<br>
`] moves to character after insert, instead of the last inserted character.<br>
(Yukihiro Nakadaira, 2011 Dec 9)<br>
<br>
Plugin for Modeleasy. (Massimiliano Tripoli, 2011 Nov 29)<br>
<br>
BufWinLeave triggers too late when quitting last window in a tab page. (Lech<br>
Lorens, 2012 Feb 21)<br>
<br>
Patch for&nbsp;<span class="MissingTag">'transparency'</span>&nbsp;option. (Sergiu Dotenco, 2011 Sep 17)<br>
Only for MS-Windows.&nbsp;&nbsp;No documentation.&nbsp;&nbsp;Do we want this?<br>
<br>
Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)<br>
<br>
On MS-Windows a temp dir with a &amp; init causes system() to fail. (Ben Fritz,<br>
2012 Jun 19)<br>
<br>
<a class="Type" href="options.html#'cursorline'">'cursorline'</a>&nbsp;is displayed too short when there are concealed characters and<br>
<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set.&nbsp;&nbsp;(Dennis Preiser)<br>
Patch 7.3.116 was the wrong solution.<br>
Christian Brabandt has another incomplete patch. (2011 Jul 13)<br>
<br>
With concealed text mouse click doesn't put the cursor in the right position.<br>
(Herb Sitz)&nbsp;&nbsp;Fix by Christian Brabandt, 2011 Jun 16.&nbsp;&nbsp;Doesn't work properly,<br>
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.<br>
<br>
Syntax region with&nbsp;<span class="MissingTag">'concealends'</span>&nbsp;and a&nbsp;<span class="MissingTag">'cchar'</span>&nbsp;value,&nbsp;<a class="Type" href="options.html#'conceallevel'">'conceallevel'</a>&nbsp;set to 2,<br>
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug<br>
21, Ben Fritz, 2010 Sep 14)<br>
<br>
The :syntax cchar value can only be a single character.&nbsp;&nbsp;It would be useful to<br>
support combining characters. (Charles Campbell)<br>
<br>
<a class="Type" href="options.html#'cursorline'">'cursorline'</a>&nbsp;works on a text line only.&nbsp;&nbsp;Add&nbsp;<span class="MissingTag">'cursorscreenline'</span>&nbsp;for<br>
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)<br>
<br>
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)<br>
New feature, requires testing.&nbsp;&nbsp;Made some remarks.<br>
<br>
Win32: Patch for alpha-blended icons and toolbar height. (Sergiu Dotenco, 2011<br>
Sep 17)&nbsp;&nbsp;Asked for feedback from others.<br>
<br>
Win32: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012<br>
Jan 19)<br>
<br>
Need to escape $HOME on Windows for fnameescape()?&nbsp;&nbsp;(ZyX, 2011 Jul 21,<br>
discussion 2013 Jul 4) Can't simply use a backslash, \$HOME has a different<br>
meaning already.&nbsp;&nbsp;Would be possible to use $$HOME where $HOME is to be used.<br>
<br>
&quot;2&quot; in&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>&nbsp;not working in comments. (Christian Corneliussen, 2011<br>
Oct 26)<br>
<br>
Bug in repeating Visual &quot;u&quot;. (Lawrence Kesteloot, 2010 Dec 20)<br>
<br>
With &quot;unamedplus&quot; in&nbsp;<a class="Type" href="options.html#'clipboard'">'clipboard'</a>&nbsp;pasting in Visual mode causes error for empty<br>
register. (Michael Seiwald, 2011 Jun 28)&nbsp;&nbsp;I can't reproduce it.<br>
<br>
Windows keys not set properly on Windows 7?&nbsp;&nbsp;(cncyber, 2010 Aug 26)<br>
<br>
When using a Vim server, a # in the path causes an error message.<br>
(Jeff Lanzarotta, 2011 Feb 17)<br>
<br>
Setting $HOME on MS-Windows is not very well documented.&nbsp;&nbsp;Suggestion by Ben<br>
Fritz (2011 Oct 27).<br>
<br>
When there is a &quot;&gt;&quot; in a line that &quot;gq&quot; wraps to the start of the next line,<br>
then the following line will pick it up as a leader.&nbsp;&nbsp;Should get the leader<br>
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)<br>
<br>
Using &quot;:break&quot; or something else that stops executing commands inside a<br>
&quot;:finally&quot; does not rethrow a previously uncaught exception. (ZyX, 2010 Oct<br>
15)<br>
<br>
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)<br>
<br>
BT regexp engine: After trying a \@&gt; match and failing, submatches are not<br>
cleared.&nbsp;&nbsp;See test64.<br>
<br>
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)<br>
<br>
Patch to make &quot;z=&quot; work when&nbsp;<a class="Type" href="options.html#'spell'">'spell'</a>&nbsp;is off.&nbsp;&nbsp;Does this have nasty side<br>
effects?&nbsp;&nbsp;(Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)<br>
Would also need to do this for spellbadword() and spellsuggest().<br>
<br>
On 64 bit MS-Windows &quot;long&quot; is only 32 bits, but we sometimes need to store a<br>
64 bits value.&nbsp;&nbsp;Change all number options to use nropt_T and define it to the<br>
right type.<br>
<br>
string() can't parse back &quot;inf&quot; and &quot;nan&quot;.&nbsp;&nbsp;Fix documentation or fix code?<br>
(ZyX, 2010 Aug 23)<br>
<br>
When doing &quot;redir =&gt; s:foo&quot; in a script and then &quot;redir END&quot; somewhere else<br>
(e.g. in a function) it can't find s:foo.<br>
When a script contains &quot;redir =&gt; s:foo&quot; but doesn't end redirection, a<br>
following &quot;redir&quot; command gives an error for not being able to access s:foo.<br>
(ZyX, 2011 Mar 27)<br>
<br>
When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim<br>
doesn't jump to the correct line with :cfirst. (ZyX,&nbsp;&nbsp;2011 Sep 18)<br>
<br>
Behavior of i&quot; and a&quot; text objects isn't logical. (Ben Fritz, 2013 Nov 19)<br>
<br>
7&nbsp;&nbsp; Make &quot;ga&quot; show the digraph for a character, if it exists.<br>
Patch from Christian Brabandt, 2011 Aug 19.<br>
<br>
maparg() does not show the&nbsp;<span class="Special">&lt;script&gt;</span>&nbsp;flag.&nbsp;&nbsp;When temporarily changing a<br>
mapping, how to restore the script ID?<br>
<br>
Bug in try/catch: return with invalid compare throws error that isn't caught.<br>
(ZyX, 2011 Jan 26)<br>
<br>
When setting a local option value from the global value, add a script ID that<br>
indicates this, so that &quot;:verbose set&quot; can give a hint.&nbsp;&nbsp;Check with options in<br>
the help file.<br>
<br>
After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)<br>
Also for another example (ZyX, 2011 Jan 24)<br>
<br>
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)<br>
<br>
&quot;0g@$&quot; puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)<br>
<br>
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011<br>
May 24)&nbsp;&nbsp;Update May 26.<br>
<br>
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)<br>
<br>
Problem with &quot;syn sync grouphere&quot;. (Gustavo Niemeyer, 2011 Jan 27)<br>
<br>
Loading autoload script even when usage is inside &quot;if 0&quot;. (Christian Brabandt,<br>
2010 Dec 18)<br>
<br>
With a filler line in diff mode, it isn't displayed in the column with line<br>
number, but it is in the sign column.&nbsp;&nbsp;Doesn't look right. (ZyX 2011 Jun 5)<br>
Patch by Christian Brabandt, 2011 Jun 5.&nbsp;&nbsp;Introduces new problems.<br>
<br>
Add jump() function. (Marcin Szamotulski, 2013 Aug 29)<br>
Is this needed?&nbsp;&nbsp;<span class="Special">CTRL-O</span>&nbsp;and&nbsp;<span class="Special">CTRL-I</span>&nbsp;do the same, just more difficult to use.<br>
<br>
8&nbsp;&nbsp; Add a command to jump to the next character highlighted with &quot;Error&quot;.<br>
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.<br>
<br>
Add event for when the text scrolls.&nbsp;&nbsp;A bit like CursorMoved.&nbsp;&nbsp;Also a similar<br>
one for insert mode.&nbsp;&nbsp;Use the event in matchparen to update the highlight if<br>
the match scrolls into view.<br>
<br>
7&nbsp;&nbsp; Use &quot;++--&quot;, &quot;+++--&quot; for different levels instead of &quot;+---&quot; &quot;+----&quot;.<br>
Patch by Christian Brabandt, 2011 Jul 27.<br>
Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)<br>
<br>
9&nbsp;&nbsp; Add %F to&nbsp;<a class="Type" href="options.html#'errorformat'">'errorformat'</a>: file name without spaces.&nbsp;&nbsp;Useful on Unix to<br>
&nbsp;&nbsp;&nbsp;&nbsp;avoid matching something up to a time 11:22:33.<br>
Patch by Christian Brabandt, 2011 Jul 27.<br>
<br>
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)<br>
Also add named groups: \%<span class="Special">{name}</span>(re)&nbsp;&nbsp;and \%<span class="Special">{name}</span>g<br>
<br>
In the sandbox it's not allowed to do many things, but it's possible to change<br>
or set variables.&nbsp;&nbsp;Add a way to prevent variables from being changed in the<br>
sandbox?&nbsp;&nbsp;E.g.: &quot;:protect g:restore_settings&quot;.<br>
<br>
GTK: drawing a double-width combining character over single-width characters<br>
doesn't look right. (Dominique Pelle, 2010 Aug 8)<br>
<br>
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)<br>
<br>
Win32: tear-off menu does not work when menu language is German. (Markus<br>
Bossler, 2011 Mar 2)&nbsp;&nbsp;Fixed by 7.3.095?<br>
<br>
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)<br>
<br>
7.3.014 changed how backslash at end of line works, but still get a NUL when<br>
there is one backslash. (Ray Frush, 2010 Nov 18)&nbsp;&nbsp;What does the original ex<br>
do?<br>
<br>
Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov<br>
22)<br>
<br>
New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)<br>
- move compflags to separate growarray?<br>
- instead of a regexp use a hashtable.&nbsp;&nbsp;Expand '?', '*', '+'.&nbsp;&nbsp;What would be<br>
&nbsp;&nbsp;the maximum repeat for * and +?<br>
<br>
&quot;L'Italie&quot; noted as a spell error at start of the sentence. (Dominique Pelle,<br>
2011 Feb 27)<br>
<br>
Editing a file with a ^M with&nbsp;<a class="Type" href="options.html#'ff'">'ff'</a>&nbsp;set to &quot;mac&quot;, opening a help file, then the<br>
^M is displayed as ^J sometimes.&nbsp;&nbsp;Getting&nbsp;<a class="Type" href="options.html#'ff'">'ff'</a>&nbsp;value from wrong window/buffer?<br>
<br>
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't<br>
exit.&nbsp;&nbsp;It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan<br>
9)&nbsp;&nbsp;Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.<br>
<br>
g` not working correctly when using :edit.&nbsp;&nbsp;It works OK when editing a file on<br>
the command line. (Ingo Karkat, 2011 Jan 25)<br>
<br>
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim<br>
crash? (Raiwil, 2010 Nov 17)<br>
<br>
Patch to add FoldedLineNr highlighting: different highlighting for the line<br>
number of a closed fold. (eXerigumo Clanjor, 2013 Jul 15)<br>
<br>
Regexp engine performance:<br>
- Profiling:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./vim -u NONE -s ~/vim/test/ruby.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./vim -u NONE -s ~/vim/test/loop.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./vim -u NONE -s ~/vim/test/alsa.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./vim -s ~/vim/test/todo.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./vim -s ~/vim/test/xml.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;Dominique Pelle:&nbsp;&nbsp;xmlSyncDT is particularly slow (Jun 7)<br>
- More test files from the src/pkg/regexp/testdata directory in the Go repo.<br>
- Performance tests:<br>
&nbsp;&nbsp;- Using asciidoc syntax. (Marek Schimara, 2013 Jun 6)<br>
&nbsp;&nbsp;- ~/vim/text/FeiqCfg.xml (file from Netjune)<br>
&nbsp;&nbsp;- ~/vim/text/edl.svg&nbsp;&nbsp;(also XML)<br>
&nbsp;&nbsp;- glts has five tests. (May 25)<br>
&nbsp;&nbsp;- ~/vim/test/slowsearch<br>
&nbsp;&nbsp;- ~/vim/test/rgb.vim<br>
&nbsp;&nbsp;- search for&nbsp;&nbsp;a.*e*exn&nbsp;&nbsp;in the vim executable.&nbsp;&nbsp;Go to last line to use<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>.<br>
&nbsp;&nbsp;- Slow combination of folding and PHP syntax highlighting.&nbsp;&nbsp;Script to<br>
&nbsp;&nbsp;&nbsp;&nbsp;reproduce it.&nbsp;&nbsp;Caused by &quot;syntax sync fromstart&quot; in combination with patch<br>
&nbsp;&nbsp;&nbsp;&nbsp;7.2.274.&nbsp;&nbsp;(Christian Brabandt, 2010 May 27) Generally, folding with<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'foldmethod'">'foldmethod'</a>&nbsp;set to &quot;syntax&quot; is slow.&nbsp;&nbsp;Do profiling to find out why.<br>
<br>
Problem producing tags file when hebrew.frx is present.&nbsp;&nbsp;It has a BOM.<br>
Results in E670. (Tony Mechelynck, 2010 May 2)<br>
<br>
<a class="Type" href="options.html#'beval'">'beval'</a>&nbsp;option should be global-local.<br>
<br>
Ruby: &quot;:ruby print $buffer.number&quot; returns zero.<br>
<br>
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)<br>
<br>
7&nbsp;&nbsp; The&nbsp;<a class="Type" href="options.html#'directory'">'directory'</a>&nbsp;option supports changing path separators to &quot;%&quot; to make<br>
&nbsp;&nbsp;&nbsp;&nbsp;file names unique, also support this for&nbsp;<a class="Type" href="options.html#'backupdir'">'backupdir'</a>. (Mikolaj Machowski)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch by Christian Brabandt, 2010 Oct 21.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is this an update:&nbsp;&nbsp;related to: #179<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir">https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;Fixed patch 2017 Jul 1.<br>
<br>
With &quot;tw=55 fo+=a&quot; typing space before ) doesn't work well. (Scott Mcdermott,<br>
2010 Oct 24)<br>
<br>
Messages in message.txt are highlighted as examples.<br>
<br>
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010<br>
Oct 22)&nbsp;&nbsp;<a class="Type" href="options.html#'isprint'">'isprint'</a>&nbsp;is set to &quot;@,161-255&quot;.<br>
<br>
&quot;:echo &quot;\x85&quot; =~# '[\u0085]'&quot; returns 1 instead of 0. (ZyX, 2010 Oct 3)<br>
<br>
<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;not correct when&nbsp;<a class="Type" href="options.html#'list'">'list'</a>&nbsp;is set. (Zdravi Korusef, 2010 Apr 15)<br>
<br>
C-indenting: A matching { in a comment is ignored, but intermediate { are not<br>
checked to be in a comment.&nbsp;&nbsp;Implement FM_SKIPCOMM flag of findmatchlimit().<br>
Issue 46.<br>
<br>
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)<br>
<br>
Using CompilerSet doesn't record where an option was set from.&nbsp;&nbsp;E.g., in the<br>
gcc compiler plugin. (Gary Johnson, 2010 Dec 13)<br>
<br>
&quot;:helpgrep&quot; does not put the cursor in the correct column when preceded by<br>
accented character. (Tony Mechelynck, 2010 Apr 15)<br>
<br>
Don't call check_restricted() for histadd(), setbufvar(), settabvar(),<br>
setwinvar().<br>
<br>
Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;is 25 and&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is 12, &quot;j&quot; scrolls zero or two lines<br>
instead of one. (Constantin Pan, 2010 Sep 10)<br>
<br>
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn<br>
Winckler, 2011 May 11)<br>
Requires a map mode for Insert mode started from blockwise Visual mode.<br>
<br>
Writing nested List and Dict in viminfo gives error message and can't be read<br>
back. (Yukihiro Nakadaira, 2010 Nov 13)<br>
<br>
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)<br>
Additional info by Dominique Pelle. (also on 2010 Apr 10)<br>
<br>
CreateFile and CreateFileW are used without sharing, filewritable() fails when<br>
the file was already open (e.g. script is being sourced).&nbsp;&nbsp;Add FILE_SHARE_READ|<br>
FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)<br>
<br>
Is ~/bin (literally) in $PATH supposed to work?&nbsp;&nbsp;(Paul, 2010 March 29)<br>
Looks like only bash can do it. (Yakov Lerner)<br>
<br>
Cscope &quot;cs add&quot; stopped working somewhat before 7.2.438. (Gary Johnson, 2010<br>
Jun 29)&nbsp;&nbsp;Caused by 7.2.433?<br>
<br>
I often see pasted text (from Firefox, to Vim in xterm) appear twice.<br>
Also, Vim in xterm sometimes loses copy/paste ability (probably after running<br>
an external command).<br>
<br>
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)<br>
<br>
Problem with transparent cmdline.&nbsp;&nbsp;Also: Terminal title is wrong with<br>
non-ASCII character. (Lily White, 2010 Mar 7)<br>
<br>
iconv() doesn't fail on an illegal character, as documented. (Yongwei Wu, 2009<br>
Nov 15, example Nov 26)&nbsp;&nbsp;Add argument to specify whether iconv() should fail<br>
or replace with a character and continue?<br>
<br>
Add local time at start of --startuptime output.<br>
Requires configure check for localtime().<br>
Use format year-month-day hr:min:sec.<br>
<br>
Patch to add &quot;combine&quot; to :syntax, combines highlight attributes. (Nate<br>
Soares, 2012 Dec 3)<br>
<br>
Patch to make &quot;:hi link&quot; also take arguments. (Nate Soares, 2012 Dec 4)<br>
<br>
Shell not recognized properly if it ends in &quot;csh -f&quot;. (James Vega, 2009 Nov 3)<br>
Find tail?&nbsp;&nbsp;Might have a / in argument.&nbsp;&nbsp;Find space?&nbsp;&nbsp;Might have space in<br>
path.<br>
<br>
Test 51 fails when language set to German. (Marco, 2011 Jan 9)<br>
Dominique can't reproduce it.<br>
<br>
<a class="Type" href="options.html#'ambiwidth'">'ambiwidth'</a>&nbsp;should be global-local.<br>
<br>
&quot;:function f(x) keepjumps&quot; creates a function where every command is executed<br>
like it has &quot;:keepjumps&quot; before it.<br>
<br>
Coverity: Check if there are new reported defects:<br>
<span class="Constant"><a href="https://scan.coverity.com/projects/241">https://scan.coverity.com/projects/241</a></span><br>
<br>
Patch to support :undo absolute jump to file save number. (Christian Brabandt,<br>
2010 Nov 5)<br>
<br>
Patch to use&nbsp;<a class="Type" href="options.html#'foldnestmax'">'foldnestmax'</a>&nbsp;also for &quot;marker&quot; foldmethod. (Arnaud Lacombe, 2011<br>
Jan 7)<br>
<br>
Bug with&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>&nbsp;going to wrong line. (Wolfram Kresse, 2009 Aug 17)<br>
Only with &quot;vim -u NONE&quot;.<br>
<br>
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)<br>
<br>
With&nbsp;<a class="Type" href="options.html#'wildmode'">'wildmode'</a>&nbsp;set to &quot;longest:full,full&quot; and pressing Tab once the first<br>
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011<br>
Feb 12)<br>
<br>
Display error when&nbsp;<a class="Type" href="options.html#'tabline'">'tabline'</a>&nbsp;that includes a file name with double-width<br>
characters. (2010 Aug 14, bootleq)<br>
<br>
Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)<br>
<br>
Using ']' as the end of a range in a pattern requires double escaping:<br>
&nbsp;&nbsp;&nbsp;&nbsp; /[@-\\]]&nbsp;&nbsp;(Andy Wokula, 2011 Jun 28)<br>
<br>
Syntax priority problem. (Charles Campbell, 2011 Sep 15)<br>
<br>
When completion inserts the first match, it may trigger the line to be folded.<br>
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)<br>
<br>
When a:base in&nbsp;<a class="Type" href="options.html#'completefunc'">'completefunc'</a>&nbsp;starts with a number it's passed as a number,<br>
not a string. (Sean Ma)&nbsp;&nbsp;Need to add flag to call_func_retlist() to force a<br>
string value.<br>
<br>
For running gvim on a USB stick: avoid the OLE registration.&nbsp;&nbsp;Use a command<br>
line argument -noregister.<br>
<br>
When using an expression in&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;leading white space sometimes goes<br>
missing (but not always). (ZyX, 2010 Nov 1)<br>
<br>
When a mapping exists both for insert mode and lang-insert mode, the last one<br>
doesn't work. (Tyru, 2010 May 6)&nbsp;&nbsp;Or is this intended?<br>
<br>
Still a problem with &quot;:make&quot; in the wrong directory.&nbsp;&nbsp;Caused by &quot;:bufdo&quot;.<br>
(Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.<br>
Caused by &quot;doautoall syntaxset BufEnter *&quot; in syntax/nosyntax.vim ?<br>
There also is a BufLeave/BufEnter aucmd to save/restore view.<br>
Does the patch to save/restore globaldir work?<br>
<br>
&quot;:bufdo normal gg&quot; while&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;is set leaves buffers without syntax<br>
highlighting.&nbsp;&nbsp;Don't disable Syntax autocommands then?&nbsp;&nbsp;Or add a flag/modifier<br>
to avoid changing&nbsp;<a class="Type" href="options.html#'eventignore'">'eventignore'</a>?<br>
<br>
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)<br>
Probably needs a bit of work.<br>
<br>
Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)<br>
Added test, updates, June 23.<br>
Updated for 7.4:&nbsp;<span class="Constant"><a href="http://litcave.rudi.ir/farsi_vim.diff">http://litcave.rudi.ir/farsi_vim.diff</a></span><br>
With modification for Tatweel character:&nbsp;<span class="Constant"><a href="https://dpaste.de/VmFw">https://dpaste.de/VmFw</a></span><br>
Remark from Ameretat Reith (2014 Oct 13)<br>
<br>
List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)<br>
Are they all OK?&nbsp;&nbsp;Update Jul 22.<br>
<br>
Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)<br>
<br>
Win32: Expanding&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;runs into a maximum size limit. (bgold12, 2009 Nov 15)<br>
<br>
Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010<br>
Sep 1)<br>
<br>
Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5)<br>
<br>
Putting a Visual block while&nbsp;<span class="MissingTag">'visualedit'</span>&nbsp;is &quot;all&quot; does not leave the cursor<br>
on the first character. (John Beckett, 2010 Aug 7)<br>
<br>
Setting&nbsp;<a class="Type" href="options.html#'tags'">'tags'</a>&nbsp;to &quot;tagsdir/*&quot; does not find &quot;tagsdir/tags&quot;. (Steven K. Wong,<br>
2009 Jul 18)<br>
<br>
Patch to add &quot;focusonly&quot; to&nbsp;<a class="Type" href="options.html#'scrollopt'">'scrollopt'</a>, so that scrollbind also applies in<br>
window that doesn't have focus. (Jonathon Mah, 2009 Jan 12)<br>
Needs more work.<br>
<br>
Problem with&nbsp;<span class="Special">&lt;script&gt;</span>&nbsp;mappings (Andy Wokula, 2009 Mar 8)<br>
<br>
When starting Vim with &quot;gvim -f -u non_existent_file &gt; foo.txt&quot; there are a<br>
few control characters in the output. (Dale Wiles, 2009 May 28)<br>
<br>
<a class="Type" href="options.html#'cmdwinheight'">'cmdwinheight'</a>&nbsp;is only used in last window when&nbsp;<a class="Type" href="options.html#'winheight'">'winheight'</a>&nbsp;is a large value.<br>
(Tony Mechelynck, 2009 Apr 15)<br>
<br>
Status line containing winnr() isn't updated when splitting the window (Clark<br>
J.&nbsp;&nbsp;Wang, 2009 Mar 31)<br>
<br>
When $VIMRUNTIME is set in .vimrc, need to reload lang files.&nbsp;&nbsp;Already done<br>
for GTK, how about others? (Ron Aaron, 2010 Apr 10)<br>
<br>
Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)<br>
<br>
Motif: Build on Ubuntu can't enter any text in dialog text fields.<br>
<br>
&quot;:tab split fname&quot; doesn't set the alternate file in the original window,<br>
because win_valid() always returns FALSE.&nbsp;&nbsp;Below win_new_tabpage() in<br>
ex_docmd.c.<br>
<br>
Space before comma in function definition not allowed: &quot;function x(a , b)&quot;<br>
Give a more appropriate error message.&nbsp;&nbsp;Add a remark to the docs.<br>
<br>
string_convert() should be able to convert between utf-8 and utf-16le.&nbsp;&nbsp;Used<br>
for GTK clipboard.&nbsp;&nbsp;Avoid requirement for iconv.<br>
<br>
Now that colnr_T is int instead of unsigned, more type casts can be removed.<br>
<br>
<a class="Type" href="options.html#'delcombine'">'delcombine'</a>&nbsp;does not work for the command line. (Tony Mechelynck, 2009 Jul<br>
20)<br>
<br>
Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,<br>
2009 Apr 7)&nbsp;&nbsp;Reminder Apr 14.<br>
<br>
Add &quot;no_hlsearch&quot; to winsaveview().<br>
<br>
Cursorline highlighting combines with Search (<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>) but not with<br>
SpellBad. (Jim Karsten, 2009 Mar 18)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'foldmethod'">'foldmethod'</a>&nbsp;is &quot;indent&quot;, adding an empty line below a fold and then<br>
indented text, creates a new fold instead of joining it with the previous one.<br>
(Evan Laforge, 2009 Oct 17)<br>
<br>
Bug: When reloading a buffer changed outside of Vim, BufRead autocommands<br>
are applied to the wrong buffer/window. (Ben Fritz, 2009 Apr 2, May 11)<br>
Ignore window options when not in the right window?<br>
Perhaps we need to use a hidden window for applying autocommands to a buffer<br>
that doesn't have a window.<br>
<br>
When using &quot;ab foo bar&quot; and mapping&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;to&nbsp;<span class="Special">&lt;Esc&gt;</span>, pressing&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;after foo<br>
doesn't trigger the abbreviation like&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;would. (Ramana Kumar, 2009 Sep 6)<br>
<br>
getbufvar() to get a window-local option value for a buffer that's not<br>
displayed in a window should return the value that's stored for that buffer.<br>
<br>
&quot;:he ctrl_u&quot; can be auto-corrected to &quot;:he ctrl-u&quot;.<br>
<br>
There should be a way after an abbreviation has expanded to go back to what<br>
was typed.&nbsp;&nbsp;<span class="Special">CTRL-G</span>&nbsp;h ?&nbsp;&nbsp;Would also undo last word or line break inserted<br>
perhaps.&nbsp;&nbsp;And undo&nbsp;<span class="Special">CTRL-W</span>.&nbsp;&nbsp;<span class="Special">CTRL-G</span>&nbsp;l would redo.<br>
<br>
Diff mode out of sync. (Gary Johnson, 2010 Aug 4)<br>
<br>
Win32 GUI: last message from startup doesn't show up when there is an echoerr<br>
command. (Cyril Slobin, 2009 Mar 13)<br>
<br>
Win32: completion of file name &quot;:e c:\!test&quot; results in &quot;:e c:\\!test&quot;, which<br>
does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)<br>
<br>
opening/closing window causes other window with&nbsp;<a class="Type" href="options.html#'winfixheight'">'winfixheight'</a>&nbsp;to change<br>
height.&nbsp;&nbsp;Also happens when there is another window in the frame, if it's not<br>
very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)<br>
<br>
Directory wrong in session file, caused by &quot;:lcd&quot; in BufEnter autocommand.<br>
(Felix Kater, 2009 Mar 3)<br>
<br>
Session file generates error upon loading, cause by --remote-silent-tab.<br>
(7tommm (ytommm) 2010 Nov 24)<br>
<br>
Using ~ works OK on 'a' with composing char, but not on 0x0418&nbsp;&nbsp;with composing<br>
char 0x0301. (Tony Mechelynck, 2009 Mar 4)<br>
<br>
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.<br>
Haskell, 2010 Aug 24)<br>
<br>
This does not work yet: &quot;a\(%C\)&quot; (get composing characters into a submatch).<br>
<br>
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)<br>
<br>
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish<br>
messages, even though locale is not supported.&nbsp;&nbsp;But &quot;:lang messages<br>
es_ES.utf-8&quot; gives an error and doesn't switch messages. (Dominique Pelle,<br>
2009 Jan 26)<br>
<br>
When $HOME contains special characters, such as a comma, escape them when used<br>
in an option. (Michael Hordijk, 2009 May 5)<br>
Turn &quot;esc&quot; argument of expand_env_esc() into string of chars to be escaped.<br>
<br>
Should make&nbsp;<a class="Type" href="options.html#'ignorecase'">'ignorecase'</a>&nbsp;global-local, so that it makes sense setting it from<br>
a modeline.<br>
<br>
Add cscope target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies by<br>
Sergey Khorev)<br>
<br>
Consider making YankRing or something else that keeps a list of yanked text<br>
part of standard Vim.&nbsp;&nbsp;The &quot;1 to &quot;9 registers are not sufficient.<br>
<br>
After doing &quot;su&quot; $HOME can be the old user's home, thus ~root/file is not<br>
correct.&nbsp;&nbsp;Don't use it in the swap file.<br>
<br>
Completion for &quot;:buf&quot; doesn't work properly on Win32 when&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;is off.<br>
(Henrik Ohman, 2009, Jan 29)<br>
<br>
shellescape() depends on&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;for quoting.&nbsp;&nbsp;That doesn't work when<br>
<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;is set but using cmd.exe. (Ben Fritz)<br>
Use a different option or let it depend on whether&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;looks like a<br>
unix-like shell?<br>
<br>
Bug: in Ex mode (after &quot;Q&quot;) backslash before line break, when yanked into a<br>
register and executed, results in&nbsp;<span class="Special">&lt;Nul&gt;</span>: instead of line break.<br>
(Konrad Schwarz, 2010 Apr 16)<br>
<br>
Have a look at patch for utf-8 line breaking. (Yongwei Wu, 2008 Mar 1, Mar 23)<br>
Now at:&nbsp;<span class="Constant"><a href="http://vimgadgets.sourceforge.net/liblinebreak/">http://vimgadgets.sourceforge.net/liblinebreak/</a></span><br>
<br>
Greek sigma character should be lower cased depending on the context.&nbsp;&nbsp;Can we<br>
make this work?&nbsp;&nbsp;(Dominique Pelle, 2009 Sep 24)<br>
<br>
When changing&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;convert all the swap file names, so that we can<br>
still delete them.&nbsp;&nbsp;Also convert all buffer file names?<br>
<br>
&quot;gqip&quot; in Insert mode has an off-by-one error, causing it to reflow text.<br>
(Raul Coronado, 2009 Nov 2)<br>
<br>
Update src/testdir/main.aap.<br>
<br>
Something wrong with session that has &quot;cd&quot; commands and &quot;badd&quot;, in such a way<br>
that Vim doesn't find the edited file in the buffer list, causing the<br>
ATTENTION message?&nbsp;&nbsp;(Tony Mechelynck, 2008 Dec 1)<br>
Also: swap files are in ~/tmp/&nbsp;&nbsp;One has relative file name &quot;.mozilla/...&quot;.<br>
<br>
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)<br>
Maybe call it v:motiontype.<br>
<br>
MS-Windows: editing the first, empty buffer,&nbsp;<a class="Type" href="options.html#'ffs'">'ffs'</a>&nbsp;set to &quot;unix,dos&quot;, &quot;:enew&quot;<br>
doesn't set&nbsp;<a class="Type" href="options.html#'ff'">'ff'</a>&nbsp;to &quot;unix&quot;.&nbsp;&nbsp;(Ben Fritz, 2008 Dec 5) Reusing the old buffer<br>
probably causes this.<br>
<br>
<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;is not respected when deleting lines or undo. (Milan Vancura,<br>
2009 Jan 16)<br>
<br>
Document that default font in Athena can be set with resources:<br>
&nbsp;&nbsp; XtDefaultFont: &quot;9x15&quot;<br>
&nbsp;&nbsp; XtDefaultFontSet: &quot;9x15&quot;<br>
(Richard Sherman, 2009 Apr 12)<br>
<br>
Having &quot;Syntax&quot; in&nbsp;<a class="Type" href="options.html#'eventignore'">'eventignore'</a>&nbsp;for :bufdo may cause problems, e.g. for<br>
&quot;:bufdo e&quot; when buffers are open in windows.&nbsp;&nbsp;ex_listdo(eap) could set the<br>
option only for when jumping to another buffer, not when the command argument<br>
is executed.<br>
<br>
&quot;:pedit %&quot; with a BufReadPre autocommand causes the cursor to move to the<br>
first line. (Ingo Karkat, 2008 Jul 1)&nbsp;&nbsp;Ian Kelling is working on this.<br>
Similar problem with &quot;:e&quot;. (Marc Montu, 2014 Apr 22)<br>
<br>
Wildmenu not deleted: &quot;gvim -u NONE&quot;, &quot;:set nocp wildmenu cmdheight=3<br>
laststatus=2&quot;,&nbsp;<span class="Special">CTRL-D</span>&nbsp;<span class="Special">CTRL-H</span>&nbsp;<span class="Special">CTRL-H</span>&nbsp;<span class="Special">CTRL-H</span>. (A.Politz, 2008 April 1)<br>
Works OK with Vim in an xterm.<br>
<br>
Cursor line moves in other window when using&nbsp;<span class="Special">CTRL-W</span>&nbsp;J that doesn't change<br>
anything.&nbsp;&nbsp;(Dasn, 2009 Apr 7)<br>
<br>
On Unix &quot;glob('does not exist~')&quot; returns the string.&nbsp;&nbsp;Without the &quot;~&quot; it<br>
doesn't. (John Little, 2008 Nov 9)<br>
Shell expansion returns unexpanded string?<br>
Don't use shell when &quot;~&quot; is not at the start?<br>
<br>
When using &quot;:e ++enc=foo file&quot; and the file is already loaded with<br>
<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;set to &quot;bar&quot;, then do_ecmd() uses that buffer, even though the<br>
fileencoding differs.&nbsp;&nbsp;Reload the buffer in this situation?&nbsp;&nbsp;Need to check for<br>
the buffer to be unmodified.<br>
Unfinished patch by Ian Kelling, 2008 Jul 11.&nbsp;&nbsp;Followup Jul 14, need to have<br>
another look at it.<br>
<br>
c.vim: XXX in a comment is colored yellow, but not when it's after &quot;#if 0&quot;.<br>
(Ilya Dogolazky, 2009 Aug 7)<br>
<br>
You can type &quot;:w ++bad=x fname&quot;, but the ++bad argument is ignored.&nbsp;&nbsp;Give an<br>
error message?&nbsp;&nbsp;Or is this easy to implement?&nbsp;&nbsp;(Nathan Stratton Treadway, 2008<br>
Aug 20)&nbsp;&nbsp;This is in ucs2bytes(), search for 0xBF.&nbsp;&nbsp;Using the ++bad argument is<br>
at the other match for 0xBF.<br>
<br>
When adding &quot;-complete=file&quot; to a user command this also changes how the<br>
argument is processed for&nbsp;<span class="Special">&lt;f-args&gt;</span>. (Ivan Tishchenko, 2008 Aug 19)<br>
<br>
Win32: associating a type with Vim doesn't take care of space after a<br>
backslash? (Robert Vibrant, 2008 Jun 5)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'rightleft'">'rightleft'</a>&nbsp;is set, cursorcolumn isn't highlighted after the end of a<br>
line.&nbsp;&nbsp;It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)<br>
<br>
Using an insert mode expression mapping, cursor is not in the expected<br>
position. (ZyX, 2010 Aug 29)<br>
<br>
After using&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;for command line completion after &quot;:ta blah&quot; and getting E33<br>
(no tags file), further editing the command to e.g., &quot;:echo&nbsp;<span class="MissingTag">'blah'</span>&quot;, the<br>
command is not executed.&nbsp;&nbsp;Fix by Ian Kelling?<br>
<br>
&quot;:help s/~&quot; jumps to *s/\~*, while &quot;:help s/\~&quot; doesn't find anything. (Tim<br>
Chase)&nbsp;&nbsp;Fix by Ian Kelling, 2008 Jul 14.<br>
<br>
When mapping : to ; and ; to :, @; doesn't work like @: and @: doesn't work<br>
either.&nbsp;&nbsp;Matt Wozniski:&nbsp;&nbsp;nv_at() calls do_execreg() which uses<br>
put_in_typebuf().&nbsp;&nbsp;Char mapped twice?<br>
<br>
Despite adding save_subexpr() this still doesn't work properly:<br>
Regexp: matchlist('12a4aaa', '^\(.\<span class="Special">{-}</span>\)\(\%5c\@&lt;=a\+\)\(.\+\)\?')<br>
Returns ['12a4',&nbsp;<span class="MissingTag">'aaa'</span>, '4aaa'], should be ['12a4',&nbsp;<span class="MissingTag">'aaa'</span>, '']<br>
Backreference not cleared when retrying after \@&lt;= fails?<br>
(Brett Stahlman, 2008 March 8)<br>
<br>
Problem with remote_send(). (Charles Campbell, 2008 Aug 12)<br>
<br>
ftplugin for help file should set&nbsp;<a class="Type" href="options.html#'isk'">'isk'</a>&nbsp;to help file value.<br>
<br>
Win32: remote editing fails when the current directory name contains &quot;[&quot;.<br>
(Ivan Tishchenko, Liu Yubao)&nbsp;&nbsp;Suggested patch by Chris Lubinski: Avoid<br>
escaping characters where the backslash is not removed later.&nbsp;&nbsp;Asked Chris for<br>
an alternate solution, also for src/ex_getln.c.<br>
This also fails when the file or directory name contains &quot;%&quot;. (Thoml, 2008<br>
July 7)<br>
Using --remote-silent while the current directory has a # in the name does not<br>
work, the # needs to be escaped. (Tramblay Bruno, 2012 Sep 15)<br>
<br>
When using remote-silent the -R flag is not passed on. (Axel Bender, 2012 May<br>
31)<br>
<br>
Win32: A --remote command that has a directory name starting with a ( doesn't<br>
work, the backslash is removed, assuming that it escapes the (. (Valery<br>
Kondakoff, 2009 May 13)<br>
<br>
Win32: Using &quot;gvim --remote-tab-silent elŝuti.txt&quot; doesn't work, the<br>
multi-byte character isn't passed and edits elsuti.txt.<br>
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)<br>
<br>
Problem with&nbsp;<a class="Type" href="options.html#'langmap'">'langmap'</a>&nbsp;being used on the rhs of a mapping. (Nikolai Weibull,<br>
2008 May 14)<br>
Possibly related problem: Alexey Muranov, 2015 Apr 2<br>
<br>
Problem with&nbsp;<span class="Special">CTRL-F</span>. (Charles Campbell, 2008 March 21)<br>
Only happens with &quot;gvim -geometry &quot;160x26+4+27&quot; -u NONE -U NONE prop.c&quot;.<br>
<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;is 54. (2008 March 27)<br>
<br>
Problem with pointer wrapping around in getvcol(). (Wolfgang Kroworsch, 2008<br>
Oct 19)&nbsp;&nbsp;Check for &quot;col&quot; being &quot;MAXCOL&quot; separately?<br>
<br>
Unexpectedly inserting a double quote. (Anton Woellert, 2008 Mar 23)<br>
Works OK when&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;is 2.<br>
<br>
8&nbsp;&nbsp; Use a mechanism similar to omni completion to figure out the kind of tab<br>
&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;<span class="Special">CTRL-]</span>&nbsp;and jump to the appropriate matching tag (if there are<br>
&nbsp;&nbsp;&nbsp;&nbsp;several).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: be able to define a function that takes the tag name and uses<br>
&nbsp;&nbsp;&nbsp;&nbsp;taglist() to find the right location.&nbsp;&nbsp;With indication of using&nbsp;<span class="Special">CTRL-]</span>&nbsp;so<br>
&nbsp;&nbsp;&nbsp;&nbsp;that the context can be taken into account. (Robert Webb)<br>
Patch by Christian Brabandt, 2013 May 31.<br>
<br>
The utf class table is missing some entries:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x2212, minus sign&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x2217, star<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x2500, bar<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x26ab, circle<br>
<br>
Visual line mode doesn't highlight properly when&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;is used and the<br>
line doesn't fit. (Dasn, 2008 May 1)<br>
<br>
GUI: In Normal mode can't yank the modeless selection.&nbsp;&nbsp;Make &quot;gy&quot; do this?<br>
Works like&nbsp;<span class="Special">CTRL-Y</span>&nbsp;in Command line mode.<br>
<br>
Mac: Move Carbon todo items to os_mac.txt.&nbsp;&nbsp;<span class="Todo">Note</span>&nbsp;that this version is frozen,<br>
try the Cocoa version.<br>
<br>
Mac: After a &quot;:vsplit&quot; the left scrollbar doesn't appear until&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;is<br>
changed or the window is resized.<br>
<br>
GTK: when setting&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;in a startup script and doing &quot;:vertical diffsplit&quot;<br>
the window isn't redrawn properly, see two vertical bars.<br>
<br>
Mac: Patch for configure: remove arch from ruby link args. (Knezevic, 2008<br>
Mar 5)&nbsp;&nbsp;Alternative: Kazuki Sakamoto, Mar 7.<br>
<br>
Mac: trouble compiling with Motif, requires --disable-darwin. (Raf, 2008 Aug<br>
1)&nbsp;&nbsp;Reply by Ben Schmidt.<br>
<br>
C't: On utf-8 system, editing file with umlaut through Gnome results in URL<br>
with %nn%nn, which is taken as two characters instead of one.<br>
Try to reproduce at work.<br>
<br>
Patch for default choice in file changed dialog. (Bjorn Winckler, 2008 Oct 19)<br>
Is there a way to list all the files first?<br>
<br>
When&nbsp;<a class="Type" href="options.html#'smartcase'">'smartcase'</a>&nbsp;is set and using&nbsp;<span class="Special">CTRL-L</span>&nbsp;to add to the search pattern it may<br>
result in no matches.&nbsp;&nbsp;Convert chars to lower case? (Erik Wognsen, 2009 Apr<br>
16)<br>
<br>
Fail to edit file after failed register access.&nbsp;&nbsp;Error flag remains set?<br>
(Lech Lorens, 2010 Aug 30)<br>
<br>
Patch for redo register. (Ben Schmidt, 2007 Oct 19)<br>
Await response to question to make the register writable.<br>
<br>
Problem with&nbsp;<a class="Type" href="options.html#'ts'">'ts'</a>&nbsp;set to 9 and&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;to &quot;&gt;&gt;&gt;&quot;. (Matthew Winn, 2007 Oct<br>
1)<br>
<br>
In the swapfile dialog, add a H(elp) option that gives more info about what<br>
each choice does.&nbsp;&nbsp;Similar to&nbsp;&nbsp;&quot;:help swap-exists-choices&quot;<br>
<br>
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)<br>
<br>
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)<br>
<br>
&quot;:tab help&quot; always opens a new tab, while &quot;:help&quot; re-uses an existing window.<br>
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)<br>
<br>
Add &quot;:nofold&quot;.&nbsp;&nbsp;Range will apply without expanding to closed fold.<br>
<br>
Using Aap to build Vim&#0058; add remarks about how to set personal preferences.<br>
Example on&nbsp;<span class="Constant"><a href="http://www.calmar.ws/tmp/aap.html">http://www.calmar.ws/tmp/aap.html</a></span><br>
<br>
Syntax highlighting wrong for transparent region. (Doug Kearns, 2007 Feb 26)<br>
Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007<br>
Jul 31)<br>
<br>
C syntax: {} inside () causes following {} to be highlighted as error.<br>
(Michalis Giannakidis, 2006 Jun 1)<br>
<br>
When&nbsp;<a class="Type" href="options.html#'diffopt'">'diffopt'</a>&nbsp;has &quot;context:0&quot; a single deleted line causes two folds to merge<br>
and mess up syncing. (Austin Jennings, 2008 Jan 31)<br>
<br>
Gnome improvements: Edward Catmur, 2007 Jan 7<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also use Save/Discard for other GUIs<br>
<br>
New PHP syntax file, use it? (Peter Hodge)<br>
<br>
&quot;:echoe&quot; in catch block stops processing, while this doesn't happen outside of<br>
a catch block. (ZyX, 2011 Jun 2)<br>
<br>
<a class="Type" href="options.html#'foldcolumn'">'foldcolumn'</a>&nbsp;in modeline applied to wrong window when using a session. (Teemu<br>
Likonen, March 19)<br>
<br>
Test 54 uses shell commands, that doesn't work on non-Unix systems.&nbsp;&nbsp;Use some<br>
other way to test buffer-local autocommands.<br>
<br>
The documentation mentions the priority for &quot;:2match&quot; and &quot;:3match&quot;, but it<br>
appears the last one wins. (John Beckett, 2008 Jul 22)&nbsp;&nbsp;Caused by adding<br>
matchadd()?&nbsp;&nbsp;Suggested patch by John, 2008 Jul 24.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is utf-8 the command line is redrawn as a whole on every<br>
character typed. (Tyler Spivey, 2008 Sep 3)&nbsp;&nbsp;Only redraw cmdline for<br>
<a class="Type" href="options.html#'arabicshape'">'arabicshape'</a>&nbsp;when there is a character on the command line for which<br>
(ARABIC_CHAR(u8c)) is TRUE.<br>
<br>
Cheng Fang made javacomplete. (2007 Aug 11)<br>
Asked about latest version: 0.77.1 is on&nbsp;<span class="Constant">www.vim.org</span>.<br>
<br>
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)<br>
<br>
Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)<br>
<span class="Constant"><a href="http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff">http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff</a></span><br>
<br>
Insert mode completion: When editing the text and pressing&nbsp;<span class="Special">CTRL-N</span>&nbsp;again goes<br>
back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)<br>
Suggestion by Ben Schmidt, 2008 Aug 6.<br>
<br>
Problem with compound words?&nbsp;&nbsp;(Bert, 2008 May 6)<br>
No warning for when flags are defined after they are used in an affix.<br>
<br>
Screen redrawing when continuously updating the buffer and resizing the<br>
terminal. (Yakov Lerner, 2006 Sept 7)<br>
<br>
Add option settings to help ftplugin. (David Eggum, 2006 Dec 18)<br>
<br>
Autoconf problem: when checking for iconv library we may add -L/usr/local/lib,<br>
but when compiling further tests -liconv is added without the -L argument,<br>
that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)<br>
<br>
When opening quickfix window, disable spell checking?<br>
<br>
Problem with &quot;.add&quot; files when using two languages and restarting Vim. (Raul<br>
Coronado, 2008 Oct 30)<br>
<br>
Popup menu redraw: Instead of first redrawing the text and then drawing the<br>
popup menu over it, first draw the new popup menu, remember its position and<br>
size and then redraw the text, skipping the characters under the popup menu.<br>
This should avoid flicker.&nbsp;&nbsp;Other solution by A.Politz, 2007 Aug 22.<br>
<br>
When a register contains illegal bytes, writing viminfo in utf-8 and reading<br>
it back doesn't result in utf-8. (Devin Bayer)<br>
<br>
Command line completion: Scanning for tags doesn't check for typed key now and<br>
then?&nbsp;&nbsp;Hangs for about 5 seconds.&nbsp;&nbsp;Appears to be caused by finding include<br>
files with &quot;foo/**&quot; in&nbsp;<a class="Type" href="options.html#'path'">'path'</a>.&nbsp;&nbsp;(Kalisiak, 2006 July 15)<br>
Additional info: When using the&nbsp;<a class="Identifier" href="editing.html#wildcards">wildcards</a>&nbsp;** globing, vim hangs<br>
indefinitely on lots of directories. The&nbsp;<a class="Identifier" href="editing.html#file-searching">file-searching</a>&nbsp;globing, like in<br>
&quot;:set path=/**&quot; does not hang as often as with globing with&nbsp;<a class="Identifier" href="editing.html#wildcards">wildcards</a>, like<br>
in &quot;:1find /**/file&quot;.&nbsp;&nbsp;This is for files that unix &quot;find&quot; can find very<br>
quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian<br>
Kelling, 2008 July 4)<br>
<br>
When the file name has parenthesis, e.g., &quot;foo (bar).txt&quot;, &quot;:!ls '%'&quot; has the<br>
parenthesis escaped but not the space.&nbsp;&nbsp;That's inconsistent.&nbsp;&nbsp;Either escape<br>
neither or both.&nbsp;&nbsp;No escaping might be best, because it doesn't depend on<br>
particularities of the shell. (Zvi Har'El, 2007 Nov 10) (Teemu Likonen, 2008<br>
Jun 3)<br>
However, for backwards compatibility escaping might be necessary.&nbsp;&nbsp;Check if<br>
the user put quotes around the expanded item?<br>
<br>
A throw in a function causes missing an endif below the call. (Spiros<br>
Bousbouras, 2011 May 16)<br>
<br>
Error E324 can be given when a cron script has wiped out our temp directory.<br>
Give a clear error message about this (and tell them not to wipe out /tmp).<br>
<br>
Color for cUserLabel should differ from case label, so that a mistake in a<br>
switch list is noticed:<br>
&nbsp;&nbsp;&nbsp;&nbsp;switch (i)<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;case 1:<br>
&nbsp;&nbsp;&nbsp;&nbsp;foobar:<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
<br>
Look at&nbsp;<span class="Constant"><a href="http://www.gtk-server.org/">http://www.gtk-server.org/</a></span>&nbsp;.&nbsp;&nbsp;It has a Vim script implementation.<br>
<br>
Netbeans problem.&nbsp;&nbsp;Use &quot;nc -l 127.0.0.1 55555&quot; for the server, then run gvim<br>
with &quot;gvim -nb:localhost:55555:foo&quot;.&nbsp;&nbsp;From nc do: '1:editFile!0 &quot;foo&quot;'.&nbsp;&nbsp;Then<br>
go to Insert mode and add a few lines.&nbsp;&nbsp;Then backspacing every other time<br>
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)<br>
<br>
Windows installer should install 32-bit version of right-click handler also on<br>
64-bit systems. (Brian Cunningham, 2011 Dec 28)<br>
<br>
Windows installer could add a &quot;open in new tab of existing Vim&quot; menu entry.<br>
Gvimext: patch to add &quot;Edit with single Vim &amp;tabbed&quot; menu entry.<br>
Just have two choices, always using one Vim and selecting between using an<br>
argument list or opening each file in a separate tab.<br>
(Erik Falor, 2008 May 21, 2008 Jun 26)<br>
<br>
Windows installer: licence text should not use indent, causes bad word wrap.<br>
(Benjamin Fritz, 2010 Aug 16)<br>
<br>
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone<br>
makes his own wrapper).&nbsp;&nbsp;Add a magic string with the version number to the<br>
.bat file and check for it in the uninstaller.&nbsp;&nbsp;E.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# uninstall key: vim7.3*<br>
<br>
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,<br>
2007 Feb 8)<br>
<br>
Win32: Can't complete shell command names.&nbsp;&nbsp;Why is setting xp_context in<br>
set_one_cmd_context() inside #ifndef BACKSLASH_IN_FILENAME?<br>
<br>
Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)<br>
<br>
Win32: XPM support only works with path without spaces.&nbsp;&nbsp;Patch by Mathias<br>
Michaelis, 2006 Jun 9.&nbsp;&nbsp;Another patch for more path names, 2006 May 31.<br>
New version:&nbsp;<span class="Constant"><a href="http://members.tcnet.ch/michaelis/vim/patches.zip">http://members.tcnet.ch/michaelis/vim/patches.zip</a></span>&nbsp;(also for other<br>
patches by Mathias, see mail Feb 22)<br>
<br>
Win32: compiling with normal features and OLE fails.&nbsp;&nbsp;Patch by Mathias<br>
Michaelis, 2006 Jun 4.<br>
<br>
Win32: after &quot;[I&quot; showing matches, scroll wheel messes up screen. (Tsakiridis,<br>
2007 Feb 18)<br>
Patch by Alex Dobrynin, 2007 Jun 3.&nbsp;&nbsp;Also fixes other scroll wheel problems.<br>
<br>
Win32: using&nbsp;<span class="Special">CTRL-S</span>&nbsp;in Insert mode doesn't remove the &quot;+&quot; from the tab pages<br>
label.&nbsp;&nbsp;(Tsakiridis, 2007 Feb 18)&nbsp;&nbsp;Patch from Ian Kelling, 2008 Aug 6.<br>
<br>
Win32: using &quot;gvim --remote-tab-silent fname&quot; sometimes gives an empty screen<br>
with the more prompt.&nbsp;&nbsp;Caused by setting the guitablabel?&nbsp;&nbsp;(Thomas Michael<br>
Engelke, 2007 Dec 20 - 2008 Jan 17)<br>
<br>
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)<br>
<br>
Win32: When&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;is bash shellescape() doesn't always do the right thing.<br>
Depends on&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>,&nbsp;<a class="Type" href="options.html#'shellquote'">'shellquote'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'shellxquote'">'shellxquote'</a>, but shellescape()<br>
only takes&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;into account.<br>
<br>
Menu item that does &quot;xxd -r&quot; doesn't work when&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;is utf-16.<br>
Check for this and use iconv?&nbsp;&nbsp;(Edward L. Fox, 2007 Sep 12)<br>
Does the conversion in the other direction work when&nbsp;<a class="Type" href="options.html#'fileencodings'">'fileencodings'</a>&nbsp;is set<br>
properly?<br>
<br>
Cursor displayed in the wrong position when using&nbsp;<a class="Type" href="options.html#'numberwidth'">'numberwidth'</a>. (James Vega,<br>
2007 Jun 21)<br>
<br>
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008<br>
Jun 18)<br>
<br>
If the variable &quot;g:x#y#z&quot; exists completion after &quot;:echo g:x#&quot; doesn't work.<br>
<br>
Feature request: Command to go to previous tab, like what&nbsp;<span class="Special">CTRL-W</span>&nbsp;p does for<br>
windows. (Adam George)<br>
<br>
F1 - F4 in an xterm produce a different escape sequence when used with a<br>
modifier key.&nbsp;&nbsp;Need to catch three different sequences.&nbsp;&nbsp;Use K_ZF1, like<br>
K_ZHOME? (Dickey, 2007 Dec 2)<br>
<br>
In debug mode, using&nbsp;<span class="Special">CTRL-R</span>&nbsp;= to evaluate a function causes stepping through<br>
the function. (Hari Krishna Dara, 2006 Jun 28)<br>
<br>
C++ indenting wrong with &quot;=&quot;. (James Kanze, 2007 Jan 26)<br>
<br>
&quot;:lockvar&quot; should use copyID to avoid endless loop.<br>
<br>
When using --remote-silent and the file name matches&nbsp;<a class="Type" href="options.html#'wildignore'">'wildignore'</a>&nbsp;get an E479<br>
error.&nbsp;&nbsp;without --remote-silent it works fine. (Ben Fritz, 2008 Jun 20)<br>
<br>
Gvim: dialog for closing Vim should check if Vim is busy writing a file.&nbsp;&nbsp;Then<br>
use a different dialog: &quot;busy saving, really quit? yes / no&quot;.<br>
<br>
Check other interfaces for changing curbuf in a wrong way.&nbsp;&nbsp;Patch like for<br>
if_ruby.c.<br>
<br>
&quot;:helpgrep&quot; should use the directory from&nbsp;<a class="Type" href="options.html#'helpfile'">'helpfile'</a>.<br>
<br>
The need_fileinfo flag is messy.&nbsp;&nbsp;Instead make the message right away and put<br>
it in keep_msg?<br>
<br>
Editing a file remotely that matches&nbsp;<a class="Type" href="options.html#'wildignore'">'wildignore'</a>&nbsp;results in a &quot;no match&quot;<br>
error.&nbsp;&nbsp;Should only happen when there are wildcards, not when giving the file<br>
name literally, and esp. if there is only one name.<br>
<br>
Test 61 fails sometimes.&nbsp;&nbsp;This is a timing problem: &quot;sleep 2&quot; sometimes takes<br>
longer than 2 seconds.<br>
<br>
Using &quot;:au CursorMoved * cmd&quot; invokes mch_FullName(), which can be slow.<br>
Can this be avoided? (Thomas Waba, 2008 Aug 24)<br>
Also for &quot;:w&quot; without a file name.<br>
The buffer has the full path in ffname, should pass this to the autocommand.<br>
<br>
&quot;vim -C&quot; often has&nbsp;<a class="Type" href="options.html#'nocompatible'">'nocompatible'</a>, because it's set in some startup script.<br>
Set&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;after startup is done?&nbsp;&nbsp;Patch by James Vega, 2008 Feb 7.<br>
<br>
VMS: while editing a file found in complex, Vim will save file into the first<br>
directory of the path and not to the original location of the file.<br>
(Zoltan Arpadffy)<br>
<br>
VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)<br>
<br>
input() completion should not insert a backslash to escape a space in a file<br>
name?<br>
<br>
Ruby completion is insecure.&nbsp;&nbsp;Can this be fixed?<br>
<br>
When&nbsp;<a class="Type" href="options.html#'backupskip'">'backupskip'</a>&nbsp;is set from $TEMP special characters need to be escaped.<br>
(patch by Grembowietz, 2007 Feb 26, not quite right)<br>
Another problem is that file_pat_to_reg_pat() doesn't recognize &quot;\\&quot;, so &quot;\\(&quot;&nbsp;<br>
will be seen as a path separator plus &quot;\(&quot;.<br>
<br>
gvim d:\path\path\(FILE).xml should not remove the \ before the (.<br>
This also fails with --remote.<br>
<br>
When doing &quot;:quit&quot; the Netbeans &quot;killed&quot; event isn't sent.&nbsp;&nbsp;(Xavier de Gaye,<br>
2008 Nov 10)&nbsp;&nbsp;call netbeans_file_closed() at the end of buf_freeall(), or in<br>
all places where buf_freeall() is called?<br>
<br>
aucmd_prepbuf() should also use a window in another tab page.<br>
<br>
When unloading a buffer in a BufHidden autocommand the hidden flag is reset?<br>
(Bob Hiestand, 2008 Aug 26, Aug 27)<br>
<br>
Substituting an area with a line break with almost the same area does change<br>
the Visual area.&nbsp;&nbsp;Can this be fixed? (James Vega, 2006 Sept 15)<br>
<br>
GUI: When combining fg en bg make sure they are not equal.<br>
<br>
Spell checking: Add a way to specify punctuation characters.&nbsp;&nbsp;Add the<br>
superscript numbers by default: 0x2070, 0xb9, 0xb2, 0xb3, 0x2074 - 0x2079.<br>
<br>
Spell checking in popup menu: If the only problem is the case of the first<br>
character, don't offer &quot;ignore&quot; and &quot;add to word list&quot;.<br>
<br>
Use different pt_br dictionary for spell checking. (Jackson A. Aquino, 2006<br>
Jun 5)<br>
<br>
Use different romanian dictionary for spell checking. (Andrei Popescu, Nov<br>
2008)&nbsp;&nbsp;Use&nbsp;<span class="Constant"><a href="http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip">http://downloads.sourceforge.net/rospell/ro_RO.3.2.zip</a></span><br>
Or the hunspell-ro.3.2.tar.gz file, it also has a iso-8859-2 list.<br>
<br>
In a C file with spell checking, in &quot;% integer&quot; &quot;nteger&quot; is seen as an error,<br>
but &quot;]s&quot; doesn't find it.&nbsp;&nbsp;&quot;nteger&quot; by itself is found. (Ralf Wildenhues, 2008<br>
Jul 22)<br>
<br>
There should be something about spell checking in the user manual.<br>
<br>
Spell menu: When using the Popup menu to select a replacement word,<br>
&quot;:spellrepeat&quot; doesn't work.&nbsp;&nbsp;SpellReplace() uses setline().&nbsp;&nbsp;Can it use &quot;z=&quot;<br>
somehow?&nbsp;&nbsp;Or use a new function.<br>
<br>
Mac: Using gvim: netrw window disappears. (Nick Lo, 2006 Jun 21)<br>
<br>
Add an option to specify the character to use when a double-width character is<br>
moved to the next line.&nbsp;&nbsp;Default '&gt;', set to a space to blank it out.&nbsp;&nbsp;Check<br>
that char is single width when it's set (compare with&nbsp;<a class="Type" href="options.html#'listchars'">'listchars'</a>).<br>
<br>
The generated vim.bat can avoid the loop for NT. (Carl Zmola, 2006 Sep 3)<br>
<br>
When showing a diff between a non-existent file and an existing one, with the<br>
cursor in the empty buffer, the other buffer only shows the last line.&nbsp;&nbsp;Change<br>
the &quot;insert&quot; into a change from one line to many? (Yakov Lerner, 2008 May 27)<br>
<br>
These two abbreviations don't give the same result:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;let asdfasdf = &quot;xyz\<span class="Special">&lt;Left&gt;</span>&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cabbr XXX&nbsp;<span class="Special">&lt;C-R&gt;</span>=asdfasdf<span class="Special">&lt;CR&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cabbr YYY xyz<span class="Special">&lt;Left&gt;</span><br>
<br>
Michael Dietrich: maximized gvim sometimes displays output of external command<br>
partly. (2006 Dec 7)<br>
<br>
In FileChangedShell command it's no longer allowed to switch to another<br>
buffer.&nbsp;&nbsp;But the changed buffer may differ from the current buffer, how to<br>
reload it then?<br>
<br>
For Aap: include a config.arg.example file with hints how to use config.arg.<br>
<br>
Command line completion when&nbsp;<a class="Type" href="options.html#'cmdheight'">'cmdheight'</a>&nbsp;is maximum and&nbsp;<a class="Type" href="options.html#'wildmenu'">'wildmenu'</a>&nbsp;is set,<br>
only one buffer line displayed, causes display errors.<br>
<br>
Completing with&nbsp;<a class="Type" href="options.html#'wildmenu'">'wildmenu'</a>&nbsp;and using&nbsp;<span class="Special">&lt;Up&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;Down&gt;</span>&nbsp;to move through directory<br>
tree stops unexpectedly when using &quot;:cd &quot; and entering a directory that<br>
doesn't contain other directories.<br>
<br>
Default for&nbsp;<a class="Type" href="options.html#'background'">'background'</a>&nbsp;is wrong when using xterm with 256 colors.<br>
Table with estimates from Matteo Cavalleri, 2014 Jan 10.<br>
<br>
Setting&nbsp;<a class="Type" href="options.html#'background'">'background'</a>&nbsp;resets the Normal background color:<br>
&nbsp;&nbsp; highlight Normal ctermbg=DarkGray<br>
&nbsp;&nbsp; set background=dark<br>
This is undesired,&nbsp;<a class="Type" href="options.html#'background'">'background'</a>&nbsp;is supposed to tell Vim what the background<br>
color is, not reset it.<br>
<br>
Linux distributions:<br>
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is<br>
&nbsp;&nbsp;known to Vim.&nbsp;&nbsp;88 colors instead of 16 works better.&nbsp;&nbsp;See &quot;:help<br>
&nbsp;&nbsp;xfree-xterm&quot;.<br>
- Suggest including bare &quot;vi&quot; and &quot;vim&quot; with X11, syntax, etc.<br>
<br>
Completion menu: For a wrapping line, completing a long file name, only the<br>
start of the path is shown in the menu.&nbsp;&nbsp;Should move the menu to the right to<br>
show more text of the completions.&nbsp;&nbsp;Shorten the items that don't fit in the<br>
middle?<br>
<br>
Accessing file#var in a function should not need the g: prepended.<br>
<br>
When exiting detects a modified buffer, instead of opening the buffer in the<br>
current tab, use an existing tab, if possible.&nbsp;&nbsp;Like finding a window where<br>
the buffer is displayed. (Antonios Tsakiridis)<br>
<br>
When &quot;:cn&quot; moves to an error in the same line the message isn't shortened.<br>
Only skip shortening for &quot;:cc&quot;?<br>
<br>
Write &quot;making vim work better&quot; for the docs (mostly pointers):&nbsp;<a class="Constant" href="todo.html#nice" name="nice">nice</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;- sourcing $VIMRUNTIME/vimrc_example.vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;- setting&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;to &quot;a&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;- getting colors in xterm<br>
&nbsp;&nbsp;&nbsp;&nbsp;- compiling Vim with X11, GUI, etc.<br>
<br>
Problem with &quot;:call&quot; and dictionary function. Hari Krishna Dara, Charles<br>
Campbell 2006 Jul 06.<br>
<br>
Syntax HL error caused by &quot;containedin&quot;. (Peter Hodge, 2006 Oct 6)<br>
<br>
A custom completion function in a &quot;:command&quot; cannot be a Funcref. (Andy<br>
Wokula, 2007 Aug 25)<br>
<br>
Problem with using :redir in user command completion function? (Hari Krishna<br>
Dara, 2006 June 21)<br>
<br>
Another resizing problem when setting&nbsp;<a class="Type" href="options.html#'columns'">'columns'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'lines'">'lines'</a>&nbsp;to a very large<br>
number. (Tony Mechelynck, 2007 Feb 6)<br>
<br>
After starting Vim, using '0 to jump somewhere in a file, &quot;:sp&quot; doesn't center<br>
the cursor line.&nbsp;&nbsp;It works OK after some other commands.<br>
<br>
Win32: Is it possible to have both postscript and Win32 printing?<br>
<br>
Problem with&nbsp;<a class="Type" href="options.html#'cdpath'">'cdpath'</a>&nbsp;on MS-Windows when a directory is equal to $HOME. (2006<br>
Jul 26, Gary Johnson)<br>
<br>
Using UTF-8 character with &quot;:command&quot; does not work properly. (Matt Wozniski,<br>
2008 Sep 29)<br>
<br>
In the Netbeans interface add a &quot;vimeval&quot; function, so that the other side can<br>
check the result of has(&quot;patch13&quot;).<br>
<br>
Cursor line at bottom of window instead of halfway after saving view and<br>
restoring.&nbsp;&nbsp;Only with&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>. (Robert Webb, 2008 Aug 25)<br>
<br>
Netrw has trouble executing autocommands only for a directory.&nbsp;&nbsp;Add&nbsp;<span class="Special">&lt;isdir&gt;</span><br>
and&nbsp;<span class="Special">&lt;notisdir&gt;</span>&nbsp;to autocommand patterns?&nbsp;&nbsp;Also&nbsp;<span class="Special">&lt;isfile&gt;</span>?<br>
<br>
Add command modifier that skips wildcard expansion, so that you don't need to<br>
put backslashes before special chars, only for white space.<br>
<br>
Syntax HL: open two windows on the same C code, delete a &quot;)&quot; in one window,<br>
resulting in highlighted &quot;{&quot; in that window, not in the other.<br>
<br>
In mswin.vim: Instead of mapping&nbsp;<span class="Special">&lt;C-V&gt;</span>&nbsp;for Insert mode in a complicated way,<br>
can it be done like &quot;:imap&nbsp;<span class="Special">&lt;C-V&gt;</span>&nbsp;<span class="Special">&lt;MiddleMouse&gt;</span>&quot; without negative side effects?<br>
<br>
GTK: when the Tab pages bar appears or disappears while the window is<br>
maximized the window is no longer maximized.&nbsp;&nbsp;Patch that has some idea but<br>
doesn't work from Geoffrey Antos, 2008 May 5.<br>
Also: the window may no longer fit on the screen, thus the command line is not<br>
visible.<br>
<br>
When right after &quot;vim file&quot;, &quot;M&quot; then&nbsp;<span class="Special">CTRL-W</span>&nbsp;v the windows are scrolled<br>
differently and unexpectedly.&nbsp;&nbsp;Caused by patch 7.2.398?<br>
<br>
The magic clipboard format &quot;VimClipboard2&quot; appears in several places.&nbsp;&nbsp;Should<br>
be only one.<br>
<br>
Win32, NTFS: When editing a specific infostream directly and&nbsp;<a class="Type" href="options.html#'backupcopy'">'backupcopy'</a>&nbsp;is<br>
&quot;auto&quot; should detect this situation and work like&nbsp;<a class="Type" href="options.html#'backupcopy'">'backupcopy'</a>&nbsp;is &quot;yes&quot;.&nbsp;&nbsp;File<br>
name is something like &quot;c:\path\foo.txt:bar&quot;, includes a colon.&nbsp;&nbsp;(Alex<br>
Jakushev, 2008 Feb 1)<br>
<br>
Small problem displaying diff filler line when opening windows with a script.<br>
(David Luyer, 2007 Mar 1 ~/Mail/oldmail/mool/in.15872 )<br>
<br>
Is it allowed that&nbsp;<a class="Type" href="options.html#'backupext'">'backupext'</a>&nbsp;is empty?&nbsp;&nbsp;Problems when backup is in same dir<br>
as original file?&nbsp;&nbsp;If it's OK don't compare with&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a>. (Thierry Closen)<br>
<br>
Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007<br>
Jan 1)<br>
<br>
Patch for adding &quot;:lscscope&quot;. (Navdeep Parhar, 2007 Apr 26; update 2008 Apr<br>
23)<br>
<br>
&quot;:mkview&quot; isn't called with the right buffer argument.&nbsp;&nbsp;Happens when using<br>
tabs and the autocommand &quot;autocmd BufWinLeave * mkview&quot;.&nbsp;&nbsp;(James Vega, 2007<br>
Jun 18)<br>
<br>
When completing from another file that uses a different encoding completion<br>
text has the wrong encoding.&nbsp;&nbsp;E.g., when&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is utf-8 and file is<br>
latin1.&nbsp;&nbsp;Example from Gombault Damien, 2007 Mar 24.<br>
<br>
Syntax HL: When using &quot;nextgroup&quot; and the group has an empty match, there is<br>
no search at that position for another match. (Lukas Mai, 2008 April 11)<br>
<br>
In gvim the backspace key produces a backspace character, but on Linux the<br>
VERASE key is Delete.&nbsp;&nbsp;Set VERASE to Backspace? (patch by Stephane Chazelas,<br>
2007 Oct 16)<br>
<br>
TermResponse autocommand isn't always triggered when using vimdiff. (Aron<br>
Griffis, 2007 Sep 19)<br>
<br>
Create a gvimtutor.1 file and change Makefiles to install it.<br>
<br>
When&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is utf-8 typing text at the end of the line causes previously<br>
typed characters to be redrawn.&nbsp;&nbsp;Caused by patch 7.1.329. (Tyler Spivey, 2008<br>
Sep 3, 11)<br>
<br>
When Vim in an xterm owns the selection and the user does &quot;:shell&quot; Vim doesn't<br>
respond to selection requests.&nbsp;&nbsp;Invoking XtDisownSelection() before executing<br>
the shell doesn't help.&nbsp;&nbsp;Would require forking and doing a message loop, like<br>
what happens for the GUI.<br>
<br>
&quot;:vimgrep&quot; does not recognize a recursive symlink.&nbsp;&nbsp;Is it possible to detect<br>
this, at least for Unix (using device/inode)?<br>
<br>
When switching between windows the cursor is often put in the middle.<br>
Remember the relative position and restore that, just like lnum and col are<br>
restored. (Luc St-Louis)<br>
<br>
Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,<br>
2010 Jun 30)<br>
<br>
Add an option for a minimal text length before inserting a line break for<br>
<a class="Type" href="options.html#'textwidth'">'textwidth'</a>.&nbsp;&nbsp;Avoids very short lines when a very long word follows.<br>
(Kartik Agaram)<br>
<br>
<br>
Better plugin support (not plugin manager, see elsewhere for that):<br>
- Avoid use of feedkeys, add eval functions where needed:<br>
&nbsp;&nbsp;- manipulating the Visual selection?<br>
- Add createmark(): add a mark like mM, but return a unique ID.&nbsp;&nbsp;Need some way<br>
&nbsp;&nbsp;to clean them up again...&nbsp;&nbsp;Use a name + the script ID.<br>
&nbsp;&nbsp;Add createmark( , 'c') to track inserts/deletes before the column.<br>
- Plugins need to make a lot of effort, lots of mappings, to know what<br>
&nbsp;&nbsp;happened before pressing the key that triggers a plugin action.&nbsp;&nbsp;How about<br>
&nbsp;&nbsp;keeping the last&nbsp;<span class="Special">N</span>&nbsp;pressed keys, so that they do not need to be mapped?<br>
- equivalent of netbeans_beval_cb().&nbsp;&nbsp;With an autocommand?<br>
- Add something to enable debugging when a remote message is received.<br>
<br>
<br>
More patches:<br>
-&nbsp;&nbsp; Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Needs a few tests.<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'cscopeignorecase'</span>&nbsp;option. (Liang Wenzhi, 2006 Sept 3)<br>
-&nbsp;&nbsp; Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs<br>
&nbsp;&nbsp;&nbsp;&nbsp;patch May 10)<br>
-&nbsp;&nbsp; Extra argument to strtrans() to translate special keys to their name (Eric<br>
&nbsp;&nbsp;&nbsp;&nbsp;Arnold, 2006 May 22)<br>
-&nbsp;&nbsp;&nbsp;<span class="MissingTag">'threglookexp'</span>&nbsp;option: only match with first word in thesaurus file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Jakson A. Aquino, 2006 Jun 14)<br>
-&nbsp;&nbsp; Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)<br>
-&nbsp;&nbsp; Allow negative&nbsp;<span class="MissingTag">'nrwidth'</span>&nbsp;for left aligning. (Nathan Laredo, 2006 Aug 16)<br>
-&nbsp;&nbsp; ml_append_string(): efficiently append to an existing line. (Brad<br>
&nbsp;&nbsp;&nbsp;&nbsp;Beveridge, 2006 Aug 26)&nbsp;&nbsp;Use in some situations, e.g., when pasting a<br>
&nbsp;&nbsp;&nbsp;&nbsp;character at a time?<br>
-&nbsp;&nbsp; recognize hex numbers better. (Mark Manning, 2006 Sep 13)<br>
-&nbsp;&nbsp; Add&nbsp;<span class="Special">&lt;AbbrExpand&gt;</span>&nbsp;key, to expand an abbreviation in a mapping. (Kana<br>
&nbsp;&nbsp;&nbsp;&nbsp;Natsuno, 2008 Jul 17)<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'wspara'</span>&nbsp;option, also accept blank lines like empty lines for &quot;{&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;}&quot;. (Mark Lundquist, 2008 Jul 18)<br>
-&nbsp;&nbsp; Patch to add&nbsp;<span class="Special">CTRL-T</span>&nbsp;to delete part of a path on cmdline. (Adek, 2008 Jul<br>
&nbsp;&nbsp;&nbsp;&nbsp;21)<br>
-&nbsp;&nbsp; Instead of creating a copy of the tutor in all the shell scripts, do it in<br>
&nbsp;&nbsp;&nbsp;&nbsp;vimtutor.vim. (Jan Minar, 2008 Jul 20)<br>
-&nbsp;&nbsp; When fsync() fails there is no hint about what went wrong.&nbsp;&nbsp;Patch by Ben<br>
&nbsp;&nbsp;&nbsp;&nbsp;Schmidt, 2008 Jul 22.<br>
-&nbsp;&nbsp; testdir/Make_dos_sh.mak for running tests with MingW. (Bill Mccarthy, 2008<br>
&nbsp;&nbsp;&nbsp;&nbsp;Sep 13)<br>
-&nbsp;&nbsp; Replace ccomplete.vim by cppcomplete.vim from&nbsp;<span class="Constant">www.vim.org</span>?&nbsp;&nbsp;script 1520 by<br>
&nbsp;&nbsp;&nbsp;&nbsp;Vissale Neang.&nbsp;&nbsp;(Martin Stubenschrott) Asked Vissale to make the scripts<br>
&nbsp;&nbsp;&nbsp;&nbsp;more friendly for the Vim distribution.<br>
&nbsp;&nbsp;&nbsp;&nbsp;New version received 2008 Jan 6.<br>
&nbsp;&nbsp;&nbsp;&nbsp;No maintenance in two years...<br>
-&nbsp;&nbsp; Patch to open dropped files in new tabs. (Michael Trim, 2010 Aug 3)<br>
<br>
Awaiting updated patches:<br>
9&nbsp;&nbsp; Mac unicode patch (Da Woon Jung, Eckehard Berns):<br>
&nbsp;&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp; Add patch from Muraoka Taro (Mar 16) to support input method on Mac?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;New patch 2004 Jun 16<br>
&nbsp;&nbsp;&nbsp;&nbsp;- selecting proportional font breaks display<br>
&nbsp;&nbsp;&nbsp;&nbsp;- UTF-8 text causes display problems.&nbsp;&nbsp;Font replacement causes this.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Command-key mappings do not work. (Alan Schmitt)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- With&nbsp;<a class="Type" href="options.html#'nopaste'">'nopaste'</a>&nbsp;pasting is wrong, with&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>&nbsp;Command-V doesn't work.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Alan Schmitt)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- remove&nbsp;<a class="Type" href="options.html#'macatsui'">'macatsui'</a>&nbsp;option when this has been fixed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- when&nbsp;<a class="Type" href="options.html#'macatsui'">'macatsui'</a>&nbsp;is off should we always convert to &quot;macroman&quot; and ignore<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'termencoding'">'termencoding'</a>?<br>
9&nbsp;&nbsp; HTML indenting can be slow.&nbsp;&nbsp;Caused by using searchpair().&nbsp;&nbsp;Can search()<br>
&nbsp;&nbsp;&nbsp;&nbsp;be used instead?&nbsp;&nbsp;A.Politz is looking into a solution.<br>
8&nbsp;&nbsp; Win32: Add minidump generation. (George Reilly, 2006 Apr 24)<br>
7&nbsp;&nbsp; Completion of network shares, patch by Yasuhiro Matsumoto.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Update 2004 Sep 6.<br>
&nbsp;&nbsp;&nbsp;&nbsp;How does this work?&nbsp;&nbsp;Missing comments.<br>
8&nbsp;&nbsp; Add a few more command names to the menus.&nbsp;&nbsp;Patch from Jiri Brezina<br>
&nbsp;&nbsp;&nbsp;&nbsp;(28 feb 2002).&nbsp;&nbsp;Will mess the translations...<br>
7&nbsp;&nbsp; ATTENTION dialog choices are more logical when &quot;Delete it&quot; appears<br>
&nbsp;&nbsp;&nbsp;&nbsp;before &quot;Quit&quot;.&nbsp;&nbsp;Patch by Robert Webb, 2004 May 3.<br>
-&nbsp;&nbsp; Include flipcase patch: ~/vim/patches/wall.flipcase2 ?&nbsp;&nbsp;Make it work<br>
&nbsp;&nbsp;&nbsp;&nbsp;for multi-byte characters.<br>
-&nbsp;&nbsp; Win32: add options to print dialog.&nbsp;&nbsp;Patch from Vipin Aravind.<br>
-&nbsp;&nbsp; Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)<br>
&nbsp;&nbsp;&nbsp;&nbsp;use the patch that keeps using HLF_8 if HLF_WS has not<br>
&nbsp;&nbsp;&nbsp;&nbsp;been given values.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add section in help files for these highlight groups?<br>
8&nbsp;&nbsp; &quot;fg&quot; and &quot;bg&quot; don't work in an xterm.&nbsp;&nbsp;Get default colors from xterm<br>
&nbsp;&nbsp;&nbsp;&nbsp;with an ESC sequence.<br>
&nbsp;&nbsp;&nbsp;&nbsp;xterm can send colors for many things.&nbsp;&nbsp;E.g. for the cursor:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;Esc&gt;</span>]12;?<span class="Special">&lt;Bel&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;Can use this to get the background color and restore the colors on exit.<br>
7&nbsp;&nbsp; Add &quot;DefaultFG&quot; and &quot;DefaultBG&quot; for the colors of the menu. (Marcin<br>
&nbsp;&nbsp;&nbsp;&nbsp;Dalecki has a patch for Motif and Carbon)<br>
-&nbsp;&nbsp; Add possibility to highlight specific columns (for Fortran).&nbsp;&nbsp;Or put a<br>
&nbsp;&nbsp;&nbsp;&nbsp;line in between columns (e.g., for&nbsp;<a class="Type" href="options.html#'textwidth'">'textwidth'</a>).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch to add&nbsp;<span class="MissingTag">'hlcolumn'</span>&nbsp;from Vit Stradal, 2004 May 20.<br>
8&nbsp;&nbsp; Add functions:<br>
&nbsp;&nbsp;&nbsp;&nbsp;gettext()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Translate a message.&nbsp;&nbsp;(Patch from Yasuhiro Matsumoto)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Update 2004 Sep 10<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Another patch from Edward L. Fox (2005 Nov 24)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search in&nbsp;<a class="Type" href="options.html#'runtimepath'">'runtimepath'</a>?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;More docs needed about how to use this.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;How to get the messages into the .po files?<br>
&nbsp;&nbsp;&nbsp;&nbsp;confirm()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add &quot;flags&quot; argument, with 'v' for vertical<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;layout and 'c' for console dialog. (Haegg)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flemming Madsen has a patch for the 'c' flag<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2003 May 13)<br>
&nbsp;&nbsp;&nbsp;&nbsp;raisewin()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise gvim window (see HierAssist patch for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tcl implementation ~/vim/HierAssist/ )<br>
&nbsp;&nbsp;&nbsp;&nbsp;taglist()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add argument to specify maximum number of matches.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;useful for interactive things or completion.<br>
&nbsp;&nbsp;&nbsp;&nbsp;col('^')&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;column of first non-white character.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Can use &quot;len(substitute(getline('.'), '\S.*', '', ''))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+ 1&quot;, but that's ugly.<br>
7&nbsp;&nbsp; Add patch from Benoit Cerrina to integrate Vim and Perl functions<br>
&nbsp;&nbsp;&nbsp;&nbsp;better.&nbsp;&nbsp;Now also works for Ruby (2001 Nov 10)<br>
-&nbsp;&nbsp; Patch from Herculano de Lima Einloft Neto for better formatting of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;quickfix window (2004 dec 2)<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'rightleft'">'rightleft'</a>&nbsp;is set, the search pattern should be displayed right<br>
&nbsp;&nbsp;&nbsp;&nbsp;to left as well?&nbsp;&nbsp;See patch of Dec 26. (Nadim Shaikli)<br>
8&nbsp;&nbsp; Option to lock all used memory so that it doesn't get swapped to disk<br>
&nbsp;&nbsp;&nbsp;&nbsp;(uncrypted).&nbsp;&nbsp;Patch by Jason Holt, 2003 May 23.&nbsp;&nbsp;Uses mlock.<br>
7&nbsp;&nbsp; Add ! register, for shell commands. (patch from Grenie)<br>
8&nbsp;&nbsp; In the gzip plugin, also recognize *.gz.orig, *.gz.bak, etc.&nbsp;&nbsp;Like it's<br>
&nbsp;&nbsp;&nbsp;&nbsp;done for filetype detection.&nbsp;&nbsp;Patch from Walter Briscoe, 2003 Jul 1.<br>
7&nbsp;&nbsp; Add a &quot;-@ filelist&quot; argument: read file names from a file. (David<br>
&nbsp;&nbsp;&nbsp;&nbsp;Kotchan has a patch for it)<br>
7&nbsp;&nbsp; Add &quot;:justify&quot; command.&nbsp;&nbsp;Patch from Vit Stradal 2002 Nov 25.<br>
-&nbsp;&nbsp; findmatch() should be adjusted for Lisp.&nbsp;&nbsp;See remark at<br>
&nbsp;&nbsp;&nbsp;&nbsp;get_lisp_indent().&nbsp;&nbsp;Esp. \( and \) should be skipped. (Dorai Sitaram,<br>
&nbsp;&nbsp;&nbsp;&nbsp;incomplete patch Mar 18)<br>
-&nbsp;&nbsp; For GUI Find/Replace dialog support using a regexp.&nbsp;&nbsp;Patch for Motif<br>
&nbsp;&nbsp;&nbsp;&nbsp;and GTK by degreneir (nov 10 and nov 18).<br>
-&nbsp;&nbsp; Patch for &quot;paranoid mode&quot; by Kevin Collins, March 7.&nbsp;&nbsp;Needs much more work.<br>
<br>
<br>
Vi incompatibility:<br>
-&nbsp;&nbsp; Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)<br>
8&nbsp;&nbsp; With undo/redo only marks in the changed lines should be changed.&nbsp;&nbsp;Other<br>
&nbsp;&nbsp;&nbsp;&nbsp;marks should be kept.&nbsp;&nbsp;Vi keeps each mark at the same text, even when it<br>
&nbsp;&nbsp;&nbsp;&nbsp;is deleted or restored. (Webb)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: A mark is lost after: make change, undo, redo and undo.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Example: &quot;{d''&quot; then &quot;u&quot; then &quot;d''&quot;: deletes an extra line, because the ''<br>
&nbsp;&nbsp;&nbsp;&nbsp;position is one line down. (Veselinovic)<br>
8&nbsp;&nbsp; When stdin is not a tty, and Vim reads commands from it, an error should<br>
&nbsp;&nbsp;&nbsp;&nbsp;make Vim exit.<br>
7&nbsp;&nbsp; Unix Vim (not gvim): Typing&nbsp;<span class="Special">CTRL-C</span>&nbsp;in Ex mode should finish the line<br>
&nbsp;&nbsp;&nbsp;&nbsp;(currently you can continue typing, but it's truncated later anyway).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Requires a way to make&nbsp;<span class="Special">CTRL-C</span>&nbsp;interrupt select() when in cooked input.<br>
8&nbsp;&nbsp; When loading a file in the .exrc, Vi loads the argument anyway.&nbsp;&nbsp;Vim skips<br>
&nbsp;&nbsp;&nbsp;&nbsp;loading the argument if there is a file already.&nbsp;&nbsp;When no file argument<br>
&nbsp;&nbsp;&nbsp;&nbsp;given, Vi starts with an empty buffer, Vim keeps the loaded file. (Bearded)<br>
6&nbsp;&nbsp; In Insert mode, when using&nbsp;<span class="Special">&lt;BS&gt;</span>&nbsp;or&nbsp;<span class="Special">&lt;Del&gt;</span>, don't wipe out the text, but<br>
&nbsp;&nbsp;&nbsp;&nbsp;only move back the cursor.&nbsp;&nbsp;Behaves like '$' in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>.&nbsp;&nbsp;Use a flag<br>
&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;to switch this on/off.<br>
8&nbsp;&nbsp; When editing a file which is a symbolic link, and then opening another<br>
&nbsp;&nbsp;&nbsp;&nbsp;symbolic link on the same file, Vim uses the name of the first one.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Adjust the file name in the buffer to the last one used?&nbsp;&nbsp;Use several file<br>
&nbsp;&nbsp;&nbsp;&nbsp;names in one buffer???<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: When first editing file &quot;test&quot;, which is symlink to &quot;test2&quot;, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;then editing &quot;test2&quot;, you end up editing buffer &quot;test&quot; again.&nbsp;&nbsp;It's not<br>
&nbsp;&nbsp;&nbsp;&nbsp;logical that the name that was first used sticks with the buffer.<br>
7&nbsp;&nbsp; The &quot;:undo&quot; command works differently in Ex mode.&nbsp;&nbsp;Edit a file, make some<br>
&nbsp;&nbsp;&nbsp;&nbsp;changes, &quot;Q&quot;, &quot;undo&quot; and _all_ changes are undone, like the &quot;:visual&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;command was one command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;On the other hand, an &quot;:undo&quot; command in an Ex script only undoes the last<br>
&nbsp;&nbsp;&nbsp;&nbsp;change (e.g., use two :append commands, then :undo).<br>
7&nbsp;&nbsp; The &quot;:map&quot; command output overwrites the command.&nbsp;&nbsp;Perhaps it should keep<br>
&nbsp;&nbsp;&nbsp;&nbsp;the &quot;:map&quot; when it's used without arguments?<br>
7&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-L</span>&nbsp;is not the end of a section?&nbsp;&nbsp;It is for Posix!&nbsp;&nbsp;Make it an option.<br>
7&nbsp;&nbsp; Implement&nbsp;<a class="Type" href="options.html#'prompt'">'prompt'</a>&nbsp;option.&nbsp;&nbsp;Init to off when stdin is not a tty.<br>
7&nbsp;&nbsp; Add a way to send an email for a crashed edit session.&nbsp;&nbsp;Create a file when<br>
&nbsp;&nbsp;&nbsp;&nbsp;making changes (containing name of the swap file), delete it when writing<br>
&nbsp;&nbsp;&nbsp;&nbsp;the file.&nbsp;&nbsp;Supply a program that can check for crashed sessions (either<br>
&nbsp;&nbsp;&nbsp;&nbsp;all, for a system startup, or for one user, for in a .login file).<br>
7&nbsp;&nbsp; Vi doesn't do autoindenting when input is not from a tty (in Ex mode).<br>
7&nbsp;&nbsp; &quot;z3<span class="Special">&lt;CR&gt;</span>&quot; should still use the whole window, but only redisplay 3 lines.<br>
7&nbsp;&nbsp; &quot;:tag xx&quot; should move the cursor to the first non-blank.&nbsp;&nbsp;Or should it go<br>
&nbsp;&nbsp;&nbsp;&nbsp;to the match with the tag?&nbsp;&nbsp;Option?<br>
7&nbsp;&nbsp; Implement&nbsp;<a class="Type" href="vi_diff.html#'autoprint'">'autoprint'</a>/<a class="Type" href="vi_diff.html#'ap'">'ap'</a>&nbsp;option.<br>
7&nbsp;&nbsp; Add flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;that makes&nbsp;<span class="Special">&lt;BS&gt;</span>&nbsp;after a count work like&nbsp;<span class="Special">&lt;Del&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(Sayre).<br>
7&nbsp;&nbsp; Add flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;that makes operator (yank, filter) not move the<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor, at least when cancelled. (default Vi compatible).<br>
7&nbsp;&nbsp; This Vi-trick doesn't work: &quot;Q&quot; to go to Ex mode, then &quot;g/pattern/visual&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;In Vi you can edit in visual mode, and when doing &quot;Q&quot; you jump to the next<br>
&nbsp;&nbsp;&nbsp;&nbsp;match.&nbsp;&nbsp;Nvi can do it too.<br>
7&nbsp;&nbsp; Support '\' for line continuation in Ex mode for these commands: (Luebking)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g/./a\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g/pattern1/ s/pattern2/rep1\\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line 1\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 2\\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line 2\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line 3\\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line4/<br>
6&nbsp;&nbsp; &quot;:e /tmp/$tty&quot; doesn't work.&nbsp;&nbsp;&quot;:e $uid&quot; does.&nbsp;&nbsp;Is $tty not set because of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the way the shell is started?<br>
6&nbsp;&nbsp; Vi compatibility (optional): make &quot;ia<span class="Special">&lt;CR&gt;&lt;ESC&gt;</span>10.&quot; do the same strange<br>
&nbsp;&nbsp;&nbsp;&nbsp;thing.&nbsp;&nbsp;(only repeat insert for the first line).<br>
<br>
<br>
GTK+ GUI known bugs:<br>
9&nbsp;&nbsp; Crash with X command server over ssh. (Ciaran McCreesh, 2006 Feb 6)<br>
8&nbsp;&nbsp; GTK 2: Combining UTF-8 characters not displayed properly in menus (Mikolaj<br>
&nbsp;&nbsp;&nbsp;&nbsp;Machowski)&nbsp;&nbsp;They are displayed as separate characters.&nbsp;&nbsp;Problem in<br>
&nbsp;&nbsp;&nbsp;&nbsp;creating a label?<br>
8&nbsp;&nbsp; GTK 2: Combining UTF-8 characters are sometimes not drawn properly.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Depends on the font size, &quot;monospace 13&quot; has the problem.&nbsp;&nbsp;Vim seems to do<br>
&nbsp;&nbsp;&nbsp;&nbsp;everything right, must be a GTK bug.&nbsp;&nbsp;Is there a way to work around it?<br>
9&nbsp;&nbsp; Can't paste a Visual selection from GTK-gvim to vim in xterm or Motif gvim<br>
&nbsp;&nbsp;&nbsp;&nbsp;when it is longer than 4000 characters.&nbsp;&nbsp;Works OK from gvim to gvim and<br>
&nbsp;&nbsp;&nbsp;&nbsp;vim to vim.&nbsp;&nbsp;Pasting through xterm (using the shift key) also works.<br>
&nbsp;&nbsp;&nbsp;&nbsp;It starts working after GTK gvim loses the selection and gains it again.<br>
-&nbsp;&nbsp; Gnome2: When moving the toolbar out of the dock, so that it becomes<br>
&nbsp;&nbsp;&nbsp;&nbsp;floating, it can no longer be moved.&nbsp;&nbsp;Therefore making it float has been<br>
&nbsp;&nbsp;&nbsp;&nbsp;blocked for now.<br>
<br>
<br>
Win32 GUI known bugs:<br>
-&nbsp;&nbsp; Win32: tearoff menu window should have a scrollbar when it's taller than<br>
&nbsp;&nbsp;&nbsp;&nbsp;the screen.<br>
8&nbsp;&nbsp; The -P argument doesn't work very well with many MDI applications.<br>
&nbsp;&nbsp;&nbsp;&nbsp;The last argument of CreateWindowEx() should be used, see MSDN docs.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Tutorial:&nbsp;<span class="Constant"><a href="http://win32assembly.online.fr/tut32.html">http://win32assembly.online.fr/tut32.html</a></span><br>
8&nbsp;&nbsp; In eval.c, io.h is included when MSWIN32 is defined.&nbsp;&nbsp;Shouldn't this be<br>
&nbsp;&nbsp;&nbsp;&nbsp;WIN32?&nbsp;&nbsp;Or can including io.h be moved to vim.h? (Dan Sharp)<br>
6&nbsp;&nbsp; Win32 GUI: With &quot;-u NONE -U NONE&quot; and doing &quot;<span class="Special">CTRL-W</span>&nbsp;v&quot; &quot;<span class="Special">CTRL-W</span>&nbsp;o&quot;, the &quot;:&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;of &quot;:only&quot; is highlighted like the cursor.&nbsp;&nbsp;(Lipelis)<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is &quot;utf-8&quot;, should use&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;for both normal and wide<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters to make Asian languages work.&nbsp;&nbsp;Win32 fonts contain both<br>
&nbsp;&nbsp;&nbsp;&nbsp;type of characters.<br>
7&nbsp;&nbsp; When font smoothing is enabled, redrawing can become very slow.&nbsp;&nbsp;The reason<br>
&nbsp;&nbsp;&nbsp;&nbsp;appears to be drawing with a transparent background.&nbsp;&nbsp;Would it be possible<br>
&nbsp;&nbsp;&nbsp;&nbsp;to use an opaque background in most places?<br>
7&nbsp;&nbsp; The cursor color indicating IME mode doesn't work properly. (Shizhu Pan,<br>
&nbsp;&nbsp;&nbsp;&nbsp;2004 May 9)<br>
8&nbsp;&nbsp; Win32: When clicking on the gvim title bar, which gives it focus, produces<br>
&nbsp;&nbsp;&nbsp;&nbsp;a file-changed dialog, after clicking on a button in that dialog the gvim<br>
&nbsp;&nbsp;&nbsp;&nbsp;window follows the mouse.&nbsp;&nbsp;The button-up event is lost.&nbsp;&nbsp;Only with<br>
&nbsp;&nbsp;&nbsp;&nbsp;MS-Windows 98?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Try this: &quot;:set sw ts&quot;, get enter-prompt, then change the file in a<br>
&nbsp;&nbsp;&nbsp;&nbsp;console, go back to Vim and click &quot;reload&quot; in the dialog for the changed<br>
&nbsp;&nbsp;&nbsp;&nbsp;file: Window moves with the cursor!<br>
&nbsp;&nbsp;&nbsp;&nbsp;Put focus event in input buffer and let generic Vim code handle it?<br>
8&nbsp;&nbsp; Win32 GUI: With maximized window, &quot;:set go-=r&quot; doesn't use the space that<br>
&nbsp;&nbsp;&nbsp;&nbsp;comes available. (Poucet)&nbsp;&nbsp;It works OK on Win 98 but doesn't work on Win<br>
&nbsp;&nbsp;&nbsp;&nbsp;NT 4.0.&nbsp;&nbsp;Leaves a grey area where the scrollbar was.&nbsp;&nbsp;&quot;:set go+=r&quot; also<br>
&nbsp;&nbsp;&nbsp;&nbsp;doesn't work properly.<br>
8&nbsp;&nbsp; When Vim is minimized and when maximizing it a file-changed dialog pops<br>
&nbsp;&nbsp;&nbsp;&nbsp;up, Vim isn't maximized.&nbsp;&nbsp;It should be done before the dialog, so that it<br>
&nbsp;&nbsp;&nbsp;&nbsp;appears in the right position. (Webb)<br>
9&nbsp;&nbsp; When selecting at the more-prompt or hit-enter-prompt, the right mouse<br>
&nbsp;&nbsp;&nbsp;&nbsp;button doesn't give popup menu.<br>
&nbsp;&nbsp;&nbsp;&nbsp;At the hit-enter prompt&nbsp;<span class="Special">CTRL-Y</span>&nbsp;doesn't work to copy the modeless<br>
&nbsp;&nbsp;&nbsp;&nbsp;selection.<br>
&nbsp;&nbsp;&nbsp;&nbsp;On the command line, don't get a popup menu for the right mouse button.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Let the middle button paste selected text (not the clipboard but the<br>
&nbsp;&nbsp;&nbsp;&nbsp;non-Visual selection)?&nbsp;&nbsp;Otherwise&nbsp;<span class="Special">CTRL-Y</span>&nbsp;has to be used to copy the text.<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'grepprg'">'grepprg'</a>&nbsp;doesn't execute, the error only flashes by, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;user can hardly see what is wrong. (Moore)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Could use vimrun with an &quot;-nowait&quot; argument to only wait when an error<br>
&nbsp;&nbsp;&nbsp;&nbsp;occurs, but &quot;command.com&quot; doesn't return an error code.<br>
8&nbsp;&nbsp; When the&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;cannot be executed, should give an appropriate error msg.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Esp. for a filter command, currently it only complains the file could not<br>
&nbsp;&nbsp;&nbsp;&nbsp;be read.<br>
7&nbsp;&nbsp; Add an option to add one pixel column to the character width?&nbsp;&nbsp;Lucida<br>
&nbsp;&nbsp;&nbsp;&nbsp;Console italic is wider than the normal font (&quot;d&quot; overlaps with next char).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Opposite of&nbsp;<a class="Type" href="options.html#'linespace'">'linespace'</a>:&nbsp;<span class="MissingTag">'columnspace'</span>.<br>
7&nbsp;&nbsp; At the hit-enter prompt scrolling now no longer works.&nbsp;&nbsp;Need to use the<br>
&nbsp;&nbsp;&nbsp;&nbsp;keyboard to get around this.&nbsp;&nbsp;Pretend&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;was hit when the user tries to<br>
&nbsp;&nbsp;&nbsp;&nbsp;scroll?<br>
7&nbsp;&nbsp; Scrollbar width doesn't change when selecting other windows appearance.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also background color of Toolbar and rectangle below vert. scrollbar.<br>
6&nbsp;&nbsp; Drawing text transparently doesn't seem to work (when drawing part cursor).<br>
8&nbsp;&nbsp; CTRL key doesn't always work in combination with ALT key.&nbsp;&nbsp;It does work<br>
&nbsp;&nbsp;&nbsp;&nbsp;for function keys, not for alphabetic characters.&nbsp;&nbsp;Perhaps this is because<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-A</span>LT is used by Windows as AltGr?<br>
8&nbsp;&nbsp;&nbsp;<span class="Special">CTRL--</span>&nbsp;doesn't work for AZERTY, because it's&nbsp;<span class="Special">CTRL-[</span>&nbsp;for QWERTY.&nbsp;&nbsp;How do we<br>
&nbsp;&nbsp;&nbsp;&nbsp;know which keyboard is being used?<br>
7&nbsp;&nbsp; When scrolling, and a background color is dithered, the dither pattern<br>
&nbsp;&nbsp;&nbsp;&nbsp;doesn't always join correctly between the scrolled area and the new drawn<br>
&nbsp;&nbsp;&nbsp;&nbsp;area (Koloseike).<br>
8&nbsp;&nbsp; When gui_init_font() is called with &quot;*&quot;, p_guifont is freed while it might<br>
&nbsp;&nbsp;&nbsp;&nbsp;still be used somewhere.&nbsp;&nbsp;This is too tricky, do the font selection first,<br>
&nbsp;&nbsp;&nbsp;&nbsp;then set the new font by name (requires putting all logfont parameters in<br>
&nbsp;&nbsp;&nbsp;&nbsp;the font name).<br>
<br>
<br>
Athena and Motif:<br>
6&nbsp;&nbsp; New Motif toolbar button from Marcin Dalecki:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- When the mouse pointer is over an Agide button the red becomes black.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Something with the way colors are specified in the .xpm file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- The pixmap is two pixels smaller than it should be.&nbsp;&nbsp;The gap is filled<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with grey instead of the current toolbar background color.<br>
9&nbsp;&nbsp; Can configure be changed to disable netbeans if the Xpm library is<br>
&nbsp;&nbsp;&nbsp;&nbsp;required and it's missing?<br>
8&nbsp;&nbsp; When using the resource &quot;Vim*borderwidth 2&quot; the widgets are positioned<br>
&nbsp;&nbsp;&nbsp;&nbsp;wrong.<br>
9&nbsp;&nbsp; XIM is disabled by default for SGI/IRIX.&nbsp;&nbsp;Fix XIM so that&nbsp;<a class="Type" href="options.html#'imdisable'">'imdisable'</a>&nbsp;can<br>
&nbsp;&nbsp;&nbsp;&nbsp;be off by default.<br>
9&nbsp;&nbsp; XIM doesn't work properly for Athena/Motif. (Yasuhiro Matsumoto)&nbsp;&nbsp;For now,<br>
&nbsp;&nbsp;&nbsp;&nbsp;keep XIM active at all times when the input method has the preediting<br>
&nbsp;&nbsp;&nbsp;&nbsp;flag.<br>
8&nbsp;&nbsp; X11: A menu that contains an umlaut is truncated at that character.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Happens when the locale is &quot;C&quot;, which uses ASCII instead of IS0-8859-1.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is there a way to use latin1 by default?&nbsp;&nbsp;Gnome_init() seems to do this.<br>
8&nbsp;&nbsp; Perhaps use fontsets for everything?<br>
6&nbsp;&nbsp; When starting in English and switching the language to Japanese, setting<br>
&nbsp;&nbsp;&nbsp;&nbsp;the locale with &quot;:lang&quot;,&nbsp;<a class="Type" href="options.html#'guifontset'">'guifontset'</a>&nbsp;and &quot;hi menu font=&quot;, deleting all<br>
&nbsp;&nbsp;&nbsp;&nbsp;menus and setting them again, the menus don't use the new font.&nbsp;&nbsp;Most of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the tooltips work though...<br>
7&nbsp;&nbsp; Motif: when using a file selection dialog, the specified file name is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;always used (when specifying a filter or another directory).<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is different from the current locale (e.g., utf-8) the<br>
&nbsp;&nbsp;&nbsp;&nbsp;menu strings don't work.&nbsp;&nbsp;Requires conversion from&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current locale.&nbsp;&nbsp;Workaround: set&nbsp;<a class="Type" href="options.html#'langmenu'">'langmenu'</a>.<br>
<br>
<br>
Athena GUI:<br>
9&nbsp;&nbsp; The first event for any button in the menu or toolbar appears to get lost.<br>
&nbsp;&nbsp;&nbsp;&nbsp;The second click on a menu does work.<br>
9&nbsp;&nbsp; When dragging the scrollbar thumb very fast, focus is only obtained in<br>
&nbsp;&nbsp;&nbsp;&nbsp;the scrollbar itself.&nbsp;&nbsp;And the thumb is no longer updated when moving<br>
&nbsp;&nbsp;&nbsp;&nbsp;through files.<br>
7&nbsp;&nbsp; The file selector is not resizable.&nbsp;&nbsp;With a big font it is difficult to<br>
&nbsp;&nbsp;&nbsp;&nbsp;read long file names. (Schroeder)<br>
4&nbsp;&nbsp; Re-write the widget attachments and code so that we will not have to go<br>
&nbsp;&nbsp;&nbsp;&nbsp;through and calculate the absolute position of every widget every time the<br>
&nbsp;&nbsp;&nbsp;&nbsp;window is refreshed/changes size.&nbsp;&nbsp;This will help the &quot;flashing-widgets&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;problem during a refresh.<br>
5&nbsp;&nbsp; When starting gvim with all the default colors and then typing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:hi Menu guibg=cyan&quot;, the menus change color but the background of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pullright pixmap doesn't change colors.<br>
&nbsp;&nbsp;&nbsp;&nbsp;If you type &quot;:hi Menu guibg=cyan font=anyfont&quot;, then the pixmap changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors as it should.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Allocating a new pixmap and setting the resource doesn't change the<br>
&nbsp;&nbsp;&nbsp;&nbsp;pullright pixmap's colors.&nbsp;&nbsp;Why?&nbsp;&nbsp;Possible Athena bug?<br>
<br>
<br>
Motif GUI:<br>
-&nbsp;&nbsp; gui_mch_browsedir() is missing, browsedir() doesn't work nicely.<br>
7&nbsp;&nbsp; Use XmStringCreateLocalized() instead of XmStringCreateSimple()?<br>
&nbsp;&nbsp;&nbsp;&nbsp;David Harrison says it's OK (it exists in Motif 1.2).<br>
8&nbsp;&nbsp; Lesstif: When deleting a menu that's torn off, the torn off menu becomes<br>
&nbsp;&nbsp;&nbsp;&nbsp;very small instead of disappearing.&nbsp;&nbsp;When closing it, Vim crashes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Phillipps)<br>
<br>
<br>
GUI:<br>
9&nbsp;&nbsp; On Solaris, creating the popup menu causes the right mouse button no<br>
&nbsp;&nbsp;&nbsp;&nbsp;longer to work for extending the selection. (Halevy)<br>
9&nbsp;&nbsp; When running an external program, it can't always be killed with&nbsp;<span class="Special">CTRL-C</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;e.g., on Solaris 5.5, when using &quot;K&quot; (Keech).&nbsp;&nbsp;Other&nbsp;<a class="Type" href="options.html#'guipty'">'guipty'</a>&nbsp;problems on<br>
&nbsp;&nbsp;&nbsp;&nbsp;Solaris 2.6. (Marley)<br>
9&nbsp;&nbsp; On Solaris: Using a &quot;-geometry&quot; argument, bigger than the window where Vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;is started from, causes empty lines below the cmdline. (raf)<br>
8&nbsp;&nbsp; X11 GUI: When menu is disabled by excluding 'm' from&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>, ALT key<br>
&nbsp;&nbsp;&nbsp;&nbsp;should not be used to trigger a menu (like the Win32 version).<br>
8&nbsp;&nbsp; When setting&nbsp;<a class="Type" href="options.html#'langmenu'">'langmenu'</a>, it should be effective immediately.&nbsp;&nbsp;Store both<br>
&nbsp;&nbsp;&nbsp;&nbsp;the English and the translated text in the menu structure.&nbsp;&nbsp;Re-generate<br>
&nbsp;&nbsp;&nbsp;&nbsp;the translation when&nbsp;<a class="Type" href="options.html#'langmenu'">'langmenu'</a>&nbsp;has changed.<br>
8&nbsp;&nbsp; Basic flaw in the GUI code: NextScreen is updated before calling<br>
&nbsp;&nbsp;&nbsp;&nbsp;gui_write(), but the GUI code relies on NextScreen to represent the state<br>
&nbsp;&nbsp;&nbsp;&nbsp;of where it is processing the output.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Need better separation of Vim core and GUI code.<br>
8&nbsp;&nbsp; When fontset support is enabled, setting&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;to a single font<br>
&nbsp;&nbsp;&nbsp;&nbsp;doesn't work.<br>
8&nbsp;&nbsp; Menu priority for sub-menus for: Amiga.<br>
8&nbsp;&nbsp; When translating menus ignore the part after the Tab, the shortcut.&nbsp;&nbsp;So<br>
&nbsp;&nbsp;&nbsp;&nbsp;that the same menu item with a different shortcut (e.g., for the Mac) are<br>
&nbsp;&nbsp;&nbsp;&nbsp;still translated.<br>
8&nbsp;&nbsp; Add menu separators for Amiga.<br>
8&nbsp;&nbsp; Add way to specify the file filter for the browse dialog.&nbsp;&nbsp;At least for<br>
&nbsp;&nbsp;&nbsp;&nbsp;browse().<br>
8&nbsp;&nbsp; Add dialog for search/replace to other GUIs?&nbsp;&nbsp;Tk has something for this,<br>
&nbsp;&nbsp;&nbsp;&nbsp;use that code?&nbsp;&nbsp;Or use console dialog.<br>
8&nbsp;&nbsp; When selecting a font with the font dialog and the font is invalid, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;error message disappears too quick.<br>
7&nbsp;&nbsp; More features in the find/replace dialog:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- regexp on/off<br>
&nbsp;&nbsp;&nbsp;&nbsp;- search in selection/buffer/all buffers/directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when all buffers/directory is used:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- filter for file name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; when directory is used:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- subdirectory on/off<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- top directory browser<br>
8&nbsp;&nbsp; gui_check_colors() is not called at the right moment.&nbsp;&nbsp;Do it much later,<br>
&nbsp;&nbsp;&nbsp;&nbsp;to avoid problems.<br>
8&nbsp;&nbsp; gui_update_cursor() is called for a cursor shape change, even when there<br>
&nbsp;&nbsp;&nbsp;&nbsp;are mappings to be processed.&nbsp;&nbsp;Only do something when going to wait for<br>
&nbsp;&nbsp;&nbsp;&nbsp;input.&nbsp;&nbsp;Or maybe every 100 ms?<br>
8&nbsp;&nbsp; X11: When the window size is reduced to fit on screen, there are blank<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines below the text and bottom scrollbar.&nbsp;&nbsp;&quot;gvim -geometry 80x78+0+0&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When the &quot;+0+0&quot; is omitted it works.<br>
8&nbsp;&nbsp; When starting an external command, and&nbsp;<a class="Type" href="options.html#'guipty'">'guipty'</a>&nbsp;set, BS and DEL are mixed<br>
&nbsp;&nbsp;&nbsp;&nbsp;up.&nbsp;&nbsp;Set erase character somehow?<br>
8&nbsp;&nbsp; A dead circumflex followed by a space should give the '^' character<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Rommel).&nbsp;&nbsp;Look how xterm does this.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: Bednar has some code for dead key handling.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: Nedit 5.0.2 with USE_XMIM does it right. (Gaya)<br>
8&nbsp;&nbsp; The compose key doesn't work properly (Cepas).&nbsp;&nbsp;Both for Win32 and X11.<br>
7&nbsp;&nbsp; The cursor in an inactive window should be hollow.&nbsp;&nbsp;Currently it's not<br>
&nbsp;&nbsp;&nbsp;&nbsp;visible.<br>
7&nbsp;&nbsp; GUI on Solaris 2.5.1, using /usr/dt/..: When gvim starts, cursor is<br>
&nbsp;&nbsp;&nbsp;&nbsp;hollow, after window lowered/raised it's OK. (Godfrey)<br>
7&nbsp;&nbsp; When starting GUI with &quot;:gui&quot;, and window is made smaller because it<br>
&nbsp;&nbsp;&nbsp;&nbsp;doesn't fit on the screen, there is an extra redraw.<br>
8&nbsp;&nbsp; When setting font with .Xdefaults, there is an extra empty line at the<br>
&nbsp;&nbsp;&nbsp;&nbsp;bottom, which disappears when using &quot;:set guifont=<span class="Special">&lt;Tab&gt;</span>&quot;. (Chadzelek)<br>
8&nbsp;&nbsp; When font shape changes, but not the size, doing &quot;:set font=&quot; does not<br>
&nbsp;&nbsp;&nbsp;&nbsp;redraw the screen with the new font.&nbsp;&nbsp;Also for Win32.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When the size changes, on Solaris 2.5 there isn't a redraw for the<br>
&nbsp;&nbsp;&nbsp;&nbsp;remaining part of the window (Phillipps).<br>
-&nbsp;&nbsp; Flashes really badly in certain cases when running remotely from a Sun.<br>
4&nbsp;&nbsp; Re-write the code so that the highlighting isn't changed multiple times<br>
&nbsp;&nbsp;&nbsp;&nbsp;when doing a &quot;:hi clear&quot;.&nbsp;&nbsp;The color changes happen three or more times<br>
&nbsp;&nbsp;&nbsp;&nbsp;currently.&nbsp;&nbsp;This is very obvious on a 66Mhz 486.<br>
<br>
<br>
Win32 console:<br>
8&nbsp;&nbsp; Should $USERPROFILE be preferred above $HOMEDRIVE/$HOMEPATH?&nbsp;&nbsp;No, but it's<br>
&nbsp;&nbsp;&nbsp;&nbsp;a good fallback, thus use:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$HOME<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$HOMEDRIVE$HOMEPATH<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_APPDATA, FALSE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$USERPROFILE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SHGetSpecialFolderPath(NULL, lpzsPath, CSIDL_COMMON_APPDATA, FALSE);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ALLUSERSPROFILE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$SYSTEMDRIVE\<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C:\<br>
8&nbsp;&nbsp; Win32 console:&nbsp;<span class="Special">&lt;M-Up&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;M-Down&gt;</span>&nbsp;don't work. (Geddes)&nbsp;&nbsp;We don't have<br>
&nbsp;&nbsp;&nbsp;&nbsp;special keys for these.&nbsp;&nbsp;Should use modifier + key.<br>
8&nbsp;&nbsp; Win32 console: caps-lock makes non-alpha keys work like with shift.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Should work like in the GUI version.<br>
8&nbsp;&nbsp; Environment variables in DOS are not case sensitive.&nbsp;&nbsp;Make a define for<br>
&nbsp;&nbsp;&nbsp;&nbsp;STRCMP_ENV(), and use it when comparing environment var names.<br>
8&nbsp;&nbsp; Setting&nbsp;<a class="Type" href="options.html#'shellslash'">'shellslash'</a>&nbsp;has no immediate effect.&nbsp;&nbsp;Change all file names when<br>
&nbsp;&nbsp;&nbsp;&nbsp;it is set/reset?&nbsp;&nbsp;Or only use it when actually executing a shell command?<br>
8&nbsp;&nbsp; When editing a file on a Samba server, case might matter.&nbsp;&nbsp;&quot;:e file&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;followed by &quot;:e FILE&quot; will edit &quot;file&quot; again, even though &quot;FILE&quot; might be<br>
&nbsp;&nbsp;&nbsp;&nbsp;another one.&nbsp;&nbsp;Set last used name in buflist_new()?&nbsp;&nbsp;Fix do_ecmd(), etc.<br>
8&nbsp;&nbsp; When a buffer is editing a file like &quot;<span class="Constant">ftp://mach/file</span>&quot;, which is not going<br>
&nbsp;&nbsp;&nbsp;&nbsp;to be used like a normal file name, don't change the slashes to<br>
&nbsp;&nbsp;&nbsp;&nbsp;backslashes. (Ronald Hoellwarth)<br>
<br>
<br>
Win32 console:<br>
9&nbsp;&nbsp; When editing a file by its short file name, it should be expanded into its<br>
&nbsp;&nbsp;&nbsp;&nbsp;long file name, to avoid problems like these: (Mccollister)<br>
&nbsp;&nbsp;&nbsp;&nbsp; 1) Create a file called &quot;.bashrc&quot; using some other editor.<br>
&nbsp;&nbsp;&nbsp;&nbsp; 2) Drag that file onto a shortcut or the actual executable.<br>
&nbsp;&nbsp;&nbsp;&nbsp; 3)&nbsp;<span class="Todo">Note</span>&nbsp;that the file name is something like BASHRC~1<br>
&nbsp;&nbsp;&nbsp;&nbsp; 4) Go to File-&gt;Save As menu item and type &quot;.bashrc&quot; as the file name.<br>
&nbsp;&nbsp;&nbsp;&nbsp; 5) Press &quot;Yes&quot; to indicate that I want to overwrite the file.<br>
&nbsp;&nbsp;&nbsp;&nbsp; 6)&nbsp;<span class="Todo">Note</span>&nbsp;that the message &quot;File exists (add ! to override)&quot; is displayed<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and the file is not saved.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use FindFirstFile() to expand a file name and directory in the path to its<br>
&nbsp;&nbsp;&nbsp;&nbsp;long name.<br>
8&nbsp;&nbsp; Also implement&nbsp;<a class="Type" href="options.html#'conskey'">'conskey'</a>&nbsp;option for the Win32 console version?&nbsp;&nbsp;Look at<br>
&nbsp;&nbsp;&nbsp;&nbsp;how Xvi does console I/O under Windows NT.<br>
7&nbsp;&nbsp; Re-install the use of $TERM and support the use of different terminals,<br>
&nbsp;&nbsp;&nbsp;&nbsp;besides the console.<br>
8&nbsp;&nbsp; Use of&nbsp;<span class="Special">&lt;altgr&gt;</span>&nbsp;modifier doesn't work?&nbsp;&nbsp;5.3 was OK. (Garcia-Suarez/Guckes)<br>
9&nbsp;&nbsp; Mapping&nbsp;<span class="Special">&lt;C-S-Tab&gt;</span>&nbsp;doesn't work correctly.&nbsp;&nbsp;How to see the difference with<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;C-S-i&gt;</span>?<br>
9&nbsp;&nbsp; tmpnam() uses file in root of file system: &quot;\asdf&quot;.&nbsp;&nbsp;That doesn't work on<br>
&nbsp;&nbsp;&nbsp;&nbsp;a Netware network drive.&nbsp;&nbsp;Use same function as for Win32 GUI?<br>
8&nbsp;&nbsp; In os_win32.h, HAVE_STRICMP and HAVE_STRNICMP are defined only if __GNUC__<br>
&nbsp;&nbsp;&nbsp;&nbsp;is not defined.&nbsp;&nbsp;Shouldn't that be the other way around?<br>
<br>
<br>
Amiga:<br>
8&nbsp;&nbsp; In mch_inchar() should use convert_input_safe() to handle incomplete byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;sequences.<br>
9&nbsp;&nbsp; In mch_expandpath() a &quot;*&quot; is to be expanded, but &quot;\*&quot; isn't.&nbsp;&nbsp;Remove<br>
&nbsp;&nbsp;&nbsp;&nbsp;backslashes in result.<br>
8&nbsp;&nbsp; Executing a shell, only one option for&nbsp;<a class="Type" href="options.html#'shell'">'shell'</a>&nbsp;is separated.&nbsp;&nbsp;Should do<br>
&nbsp;&nbsp;&nbsp;&nbsp;all options, using white space separation.<br>
<br>
<br>
Macintosh:<br>
-&nbsp;&nbsp; GUI: gui_mch_browsedir() is missing.<br>
7&nbsp;&nbsp; Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Load the Perl library dynamically see Python sources file dynload_mac<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Jack)<br>
&nbsp;&nbsp;&nbsp;&nbsp;dynamic linking:&nbsp;<span class="Constant"><a href="http://developer.apple.com/technotes/tn2002/tn2064.html">http://developer.apple.com/technotes/tn2002/tn2064.html</a></span><br>
8&nbsp;&nbsp; inputdialog() doesn't resize when giving more text lines. (David Fishburn,<br>
&nbsp;&nbsp;&nbsp;&nbsp;2006 Sept 28)<br>
8&nbsp;&nbsp; Define vim_mkdir() for Macintosh.<br>
8&nbsp;&nbsp; Define mch_writable() for Macintosh.<br>
9&nbsp;&nbsp; When DiskLock is running, using a swap file causes a crash.&nbsp;&nbsp;Appears to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;a problem with writing a file that starts with a dot. (Giacalone)<br>
9&nbsp;&nbsp; In mac_expandpath() check that handling of backslashes is done properly.<br>
<br>
<br>
&quot;Small&quot; problems:<br>
-&nbsp;&nbsp; Can't disable terminal flow control, to enable the use of&nbsp;<span class="Special">CTRL-S</span>&nbsp;and<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-Q</span>.&nbsp;&nbsp;Add an option for it?<br>
-&nbsp;&nbsp; When using e_secure in do_one_cmd() mention the command being executed,<br>
&nbsp;&nbsp;&nbsp;&nbsp;otherwise it's not clear where it comes from.<br>
-&nbsp;&nbsp; When the quickfix window is open and executing &quot;:echo&nbsp;<span class="MissingTag">'hello'</span>&quot; using the<br>
&nbsp;&nbsp;&nbsp;&nbsp;Command-line window, the text is immediately removed by the redrawing.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Michael Henry, 2008 Nov 1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Generic solution: When redrawing while there is a message on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;cmdline, don't erase the display but draw over the existing text.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Other solution, redraw after closing the cmdline window, before executing<br>
&nbsp;&nbsp;&nbsp;&nbsp;the command.<br>
9&nbsp;&nbsp; For Turkish vim_tolower() and vim_toupper() also need to use utf_<br>
&nbsp;&nbsp;&nbsp;&nbsp;functions for characters below 0x80. (Sertacyildiz)<br>
9&nbsp;&nbsp; When the last edited file is a help file, using '0 in a new Vim doesn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;edit the file as a help file.&nbsp;&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;is OK, but&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;isn't,<br>
&nbsp;&nbsp;&nbsp;&nbsp;file isn't readonly, etc.<br>
8&nbsp;&nbsp; When an &quot;:edit&quot; is inside a try command and the ATTENTION prompt is used,<br>
&nbsp;&nbsp;&nbsp;&nbsp;the :catch commands are always executed, also when the file is edited<br>
&nbsp;&nbsp;&nbsp;&nbsp;normally.&nbsp;&nbsp;Should reset did_emsg and undo side effects.&nbsp;&nbsp;Also make sure<br>
&nbsp;&nbsp;&nbsp;&nbsp;the ATTENTION message shows up.&nbsp;&nbsp;Servatius Brandt works on this.<br>
7&nbsp;&nbsp; Vimtutor leaves escape sequence in terminal. This is the xterm response to<br>
&nbsp;&nbsp;&nbsp;&nbsp;requesting the version number.&nbsp;&nbsp;(Yasuhiro Matsumoto)<br>
8&nbsp;&nbsp; When redirecting and using &quot;:silent&quot; the current column for displaying and<br>
&nbsp;&nbsp;&nbsp;&nbsp;redirection can be different.&nbsp;&nbsp;Use a separate variable to hold the column<br>
&nbsp;&nbsp;&nbsp;&nbsp;for redirection.<br>
7&nbsp;&nbsp; The messages for &quot;vim --help&quot; and &quot;vim --version&quot; don't use<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'termencoding'">'termencoding'</a>.<br>
-&nbsp;&nbsp; Could the hit-enter prompt be avoided when a message only overlaps the<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'showcmd'">'showcmd'</a>&nbsp;area?&nbsp;&nbsp;Clear that area when the next cmd is typed.<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;is set, a window won't scroll horizontally if the cursor<br>
&nbsp;&nbsp;&nbsp;&nbsp;line is too short.&nbsp;&nbsp;Add a word in&nbsp;<a class="Type" href="options.html#'scrollopt'">'scrollopt'</a>&nbsp;to allow moving the cursor<br>
&nbsp;&nbsp;&nbsp;&nbsp;to longer line that is visible.&nbsp;&nbsp;A similar thing is done for the GUI when<br>
&nbsp;&nbsp;&nbsp;&nbsp;using the horizontal scrollbar.<br>
7&nbsp;&nbsp; VisVim can only open one file.&nbsp;&nbsp;Hard to solve: each opened file is passed<br>
&nbsp;&nbsp;&nbsp;&nbsp;with a separate invocation, would need to use timestamps to know the<br>
&nbsp;&nbsp;&nbsp;&nbsp;invocations belong together.<br>
8&nbsp;&nbsp; When giving a &quot;:bwipeout&quot; command a file-changed dialog may popup for this<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer, which is pointless.&nbsp;&nbsp;(Mike Williams)<br>
8&nbsp;&nbsp; On MS-Windows &quot;:make&quot; doesn't show output while it is working.&nbsp;&nbsp;Use the<br>
&nbsp;&nbsp;&nbsp;&nbsp;tee.exe from&nbsp;&nbsp;<span class="Constant"><a href="http://unxutils.sourceforge.net/">http://unxutils.sourceforge.net/</a></span>&nbsp;?&nbsp;&nbsp;About 16 Kbyte in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;UnxUtils.zip archive.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is it better than what we have in src/tee?<br>
8&nbsp;&nbsp; When doing Insert mode completion a mapping cannot recursively call<br>
&nbsp;&nbsp;&nbsp;&nbsp;edit(), because the completion information is global.&nbsp;&nbsp;Put everything in<br>
&nbsp;&nbsp;&nbsp;&nbsp;an allocated structure?<br>
8&nbsp;&nbsp; Command line completion: buffers &quot;foo.txt&quot; and &quot;../b/foo.txt&quot;, completing<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:buf foo<span class="Special">&lt;Tab&gt;</span>&quot; doesn't find the second one. (George V. Reilly)<br>
7&nbsp;&nbsp; mb_off2cells() doesn't work correctly on the tail byte of a double-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;character. (Yasuhiro Matsumoto)&nbsp;&nbsp;It should return 1 when used on a tail<br>
&nbsp;&nbsp;&nbsp;&nbsp;byte, like for utf-8.&nbsp;&nbsp;Store second byte of double-byte in ScreenLines2[]<br>
&nbsp;&nbsp;&nbsp;&nbsp;(like for DBCS_JPNU) and put a zero in the second byte (like for UTF-8).<br>
7&nbsp;&nbsp; Inside a function with &quot;perl &lt;&lt;EOF&quot; a line with &quot;$i++&quot; is recognized as an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:insert&quot; command, causing the following &quot;endfunction&quot; not to be found.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add skipping this perl construction inside function definitions.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'ttimeoutlen'">'ttimeoutlen'</a>&nbsp;is 10 and&nbsp;<a class="Type" href="options.html#'timeoutlen'">'timeoutlen'</a>&nbsp;is 1000, there is a keycode<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;<span class="Special">&lt;Esc&gt;</span>a&quot; and a mapping&nbsp;<span class="Special">&lt;Esc&gt;</span>x&quot;, when typing &quot;<span class="Special">&lt;Esc&gt;</span>a&quot; with half a second<br>
&nbsp;&nbsp;&nbsp;&nbsp;delay should not be interpreted as a keycode. (Hans Ginzel)<br>
7&nbsp;&nbsp; &quot;:botright 1 new&quot; twice causes all window heights to be changed.&nbsp;&nbsp;Make the<br>
&nbsp;&nbsp;&nbsp;&nbsp;bottom window only bigger as much as needed.<br>
7&nbsp;&nbsp; The Cygwin and MingW makefiles define &quot;PC&quot;, but it's not used anywhere.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Remove? (Dan Sharp)<br>
9&nbsp;&nbsp; User commands use the context of the script they were defined in.&nbsp;&nbsp;This<br>
&nbsp;&nbsp;&nbsp;&nbsp;causes a &quot;s:var&quot; argument to unexpectedly use a variable in the defining<br>
&nbsp;&nbsp;&nbsp;&nbsp;script, not the calling script.&nbsp;&nbsp;Add an argument to &quot;:command&quot;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;-keepcontext&quot;.&nbsp;&nbsp;Do replace&nbsp;<span class="Special">&lt;SID&gt;</span>, so that a function in the defining<br>
&nbsp;&nbsp;&nbsp;&nbsp;script can be called.<br>
8&nbsp;&nbsp; The Japanese message translations for MS-Windows are called ja.sjis.po,<br>
&nbsp;&nbsp;&nbsp;&nbsp;but they use encoding cp932.&nbsp;&nbsp;Rename the file and check that it still<br>
&nbsp;&nbsp;&nbsp;&nbsp;works.<br>
8&nbsp;&nbsp; A very long message in confirm() can't be quit.&nbsp;&nbsp;Make this possible with<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-C</span>.<br>
8&nbsp;&nbsp; &quot;gf&quot; always excludes trailing punctuation characters.&nbsp;&nbsp;file_name_in_line()<br>
&nbsp;&nbsp;&nbsp;&nbsp;is currently fixed to use &quot;.,:;!&quot;.&nbsp;&nbsp;Add an option to make this<br>
&nbsp;&nbsp;&nbsp;&nbsp;configurable?<br>
8&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'hkmap'">'hkmap'</a>&nbsp;should probably be global-local.<br>
8&nbsp;&nbsp; Using &quot;:s&quot; in a function changes the previous replacement string.&nbsp;&nbsp;Save<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;old_sub&quot; in save_search_patterns()?<br>
8&nbsp;&nbsp; Should allow multi-byte characters for the delimiter: &quot;:s+a+b+&quot; where &quot;+&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;is a multi-byte character.<br>
8&nbsp;&nbsp; When appending to a file and&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a>&nbsp;isn't empty, a backup file is<br>
&nbsp;&nbsp;&nbsp;&nbsp;always written, even when the original file already exists.<br>
9&nbsp;&nbsp; When getting focus while writing a large file, could warn for this file<br>
&nbsp;&nbsp;&nbsp;&nbsp;being changed outside of Vim.&nbsp;&nbsp;Avoid checking this while the file is being<br>
&nbsp;&nbsp;&nbsp;&nbsp;written.<br>
7&nbsp;&nbsp; The message in bt_dontwrite_msg() could be clearer.<br>
8&nbsp;&nbsp; The script ID that is stored with an option and displayed with &quot;:verbose<br>
&nbsp;&nbsp;&nbsp;&nbsp;set&quot; isn't reset when the option is set internally.&nbsp;&nbsp;For example when<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'foldlevel'">'foldlevel'</a>&nbsp;is set from&nbsp;<a class="Type" href="options.html#'foldlevelstart'">'foldlevelstart'</a>.<br>
8&nbsp;&nbsp; Also store the line number with the script ID and use it for &quot;:verbose&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;so that &quot;set nocompatible&quot; is found when it changes other option values.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When an option is set indirectly mention the command?&nbsp;&nbsp;E.g. when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:diffsplit&quot; sets&nbsp;<a class="Type" href="options.html#'foldmethod'">'foldmethod'</a>.<br>
8&nbsp;&nbsp; In the fileformat dialog, &quot;Cancel&quot; isn't translated.&nbsp;&nbsp;Add a global<br>
&nbsp;&nbsp;&nbsp;&nbsp;variable for this. (Eduardo Fernandez)<br>
9&nbsp;&nbsp; When editing a file with&nbsp;<a class="Type" href="options.html#'readonly'">'readonly'</a>&nbsp;set, there is no check for an existing<br>
&nbsp;&nbsp;&nbsp;&nbsp;swap file.&nbsp;&nbsp;Then using &quot;:write&quot; (without making any changes) doesn't give<br>
&nbsp;&nbsp;&nbsp;&nbsp;a warning either.&nbsp;&nbsp;Should check for an existing swap file without creating<br>
&nbsp;&nbsp;&nbsp;&nbsp;one. Unfinished patch by Ian Kelling, 2008 July 14.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;is set, the amount of space a Tab occupies changes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Should work like&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;is inserted without changing the Tabs.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'mousefocus'">'mousefocus'</a>&nbsp;is set and switching to another window with a typed<br>
&nbsp;&nbsp;&nbsp;&nbsp;command, the mouse pointer may be moved to a part of the window that's<br>
&nbsp;&nbsp;&nbsp;&nbsp;covered by another window and we lose focus.&nbsp;&nbsp;Only move in the y<br>
&nbsp;&nbsp;&nbsp;&nbsp;direction, not horizontally?<br>
8&nbsp;&nbsp; &quot;:hardcopy&quot;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Using the cterm_color[] table is wrong when t_colors is &gt; 16.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Need to handle unprintable characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Win32: On a B&amp;W printer syntax highlighting isn't visible.&nbsp;&nbsp;Perform<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dithering to make grey text?<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Add a flag in&nbsp;<a class="Type" href="options.html#'printoptions'">'printoptions'</a>&nbsp;to add an empty page to make the total<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number even.&nbsp;&nbsp;&quot;addempty&quot;? (Mike Williams)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Respect&nbsp;<a class="Type" href="options.html#'linebreak'">'linebreak'</a>.&nbsp;&nbsp;Perhaps also&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>?<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Should interpret&nbsp;<span class="Special">CTRL-L</span>&nbsp;as a page break.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Grey line numbers are not always readable.&nbsp;&nbsp;Add field in&nbsp;<a class="Type" href="options.html#'printoptions'">'printoptions'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default to black when no syntax highlighting.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Be able to print a window in diff mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Be able to specify a colorscheme to use for printing.&nbsp;&nbsp;And a separate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;one for B&amp;W printing (if that can be detected).<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;is &quot;block,insert&quot; and encoding is &quot;utf-8&quot;, selecting a<br>
&nbsp;&nbsp;&nbsp;&nbsp;block of one double-wide character, then &quot;d&quot; deletes only half of it.<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;is set, should &quot;I&quot; in blockwise visual mode also insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;in lines that don't extend into the block?<br>
8&nbsp;&nbsp; With&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;set, in Insert mode just after the end of line,&nbsp;<span class="Special">CTRL-O</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;yh does not yank the last character of the line. (Pavel Papushev)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Doing &quot;hl&quot; first appears to make it work.<br>
8&nbsp;&nbsp; With&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;set it's possible to move into the blank area from<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'linebreak'">'linebreak'</a>.<br>
8&nbsp;&nbsp; With&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>&nbsp;set and&nbsp;<a class="Type" href="options.html#'selection'">'selection'</a>&nbsp;&quot;exclusive&quot;, a Visual selection<br>
&nbsp;&nbsp;&nbsp;&nbsp;that ends in or after a tab, &quot;d&quot; doesn't delete (part of) the tab.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Helmut Stiegler)<br>
9&nbsp;&nbsp; When jumping to a tag, the search pattern is put in the history.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'magic'">'magic'</a>&nbsp;is on, the pattern may not work.&nbsp;&nbsp;Translate the pattern depending<br>
&nbsp;&nbsp;&nbsp;&nbsp;on p_magic when putting it in the history?&nbsp;&nbsp;Alternative: Store value of<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'magic'">'magic'</a>&nbsp;in history.&nbsp;&nbsp;(Margo)<br>
9&nbsp;&nbsp; optwin.vim: Restoring a mapping for&nbsp;<span class="Special">&lt;Space&gt;</span>&nbsp;or&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;is not correct for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:noremap&quot;.&nbsp;&nbsp;Add &quot;mapcmd(<span class="Special">{string}</span>,&nbsp;<span class="Special">{mode}</span>)?&nbsp;&nbsp;Use code from &quot;:mkexrc&quot;.<br>
9&nbsp;&nbsp; incsearch is incorrect for &quot;/that/<span class="Special">&lt;Return&gt;</span>/this/;//&quot; (last search pattern<br>
&nbsp;&nbsp;&nbsp;&nbsp;isn't updated).<br>
9&nbsp;&nbsp; term_console is used before it is set (msdos, Amiga).<br>
9&nbsp;&nbsp; Get out-of-memory for &quot;:g/^/,$s//@/&quot; on 1000 lines, this is not handled<br>
&nbsp;&nbsp;&nbsp;&nbsp;correctly.&nbsp;&nbsp;Get many error messages while redrawing the screen, which<br>
&nbsp;&nbsp;&nbsp;&nbsp;cause another redraw, etc.<br>
8&nbsp;&nbsp; [<span class="Special">&lt;C-I&gt;</span>&nbsp;doesn't work when '*' is in&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>.&nbsp;&nbsp;find_pattern_in_path()<br>
&nbsp;&nbsp;&nbsp;&nbsp;must escape special characters in the pattern.<br>
8&nbsp;&nbsp; Vim can overwrite a read-only file with &quot;:w!&quot;.&nbsp;&nbsp;&quot;:w&quot; can't overwrite an<br>
&nbsp;&nbsp;&nbsp;&nbsp;existing file, &quot;w!&quot; can, but perhaps not a read-only file?&nbsp;&nbsp;Then use<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:w!!&quot; for that.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or ask for permission to overwrite it (if file can be made writable) and<br>
&nbsp;&nbsp;&nbsp;&nbsp;restore file to readonly afterwards.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Overwriting a file for which a swap file exists is similar issue.<br>
7&nbsp;&nbsp; When compiled with &quot;xterm_clipboard&quot;, startup can be slower and might get<br>
&nbsp;&nbsp;&nbsp;&nbsp;error message for invalid $DISPLAY.&nbsp;&nbsp;Try connecting to the X server in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;background (forked), so that Vim starts up quicker?&nbsp;&nbsp;Connect as soon as<br>
&nbsp;&nbsp;&nbsp;&nbsp;the clipboard is to be used (Visual select mode starts, paste from<br>
&nbsp;&nbsp;&nbsp;&nbsp;clipboard)<br>
7&nbsp;&nbsp; X11: Some people prefer to use CLIPBOARD instead of PRIMARY for the normal<br>
&nbsp;&nbsp;&nbsp;&nbsp;selection.&nbsp;&nbsp;Add an &quot;xclipboard&quot; argument to the&nbsp;<a class="Type" href="options.html#'clipboard'">'clipboard'</a>&nbsp;option? (Mark<br>
&nbsp;&nbsp;&nbsp;&nbsp;Waggoner)<br>
8&nbsp;&nbsp; For xterm need to open a connection to the X server to get the window<br>
&nbsp;&nbsp;&nbsp;&nbsp;title, which can be slow.&nbsp;&nbsp;Can also get the title with &quot;<span class="Special">&lt;Esc&gt;</span>[21t&quot;, no<br>
&nbsp;&nbsp;&nbsp;&nbsp;need to use X11 calls.&nbsp;&nbsp;This returns &quot;<span class="Special">&lt;Esc&gt;</span>]l<span class="Special">{title}&lt;Esc&gt;</span>\&quot;.<br>
6&nbsp;&nbsp; When the xterm reports the number of colors, a redraw occurs.&nbsp;&nbsp;This is<br>
&nbsp;&nbsp;&nbsp;&nbsp;annoying on a slow connection.&nbsp;&nbsp;Wait for the xterm to report the number of<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors before drawing the screen.&nbsp;&nbsp;With a timeout.<br>
8&nbsp;&nbsp; When the builtin xterm termcap contains codes that are not wanted, need a<br>
&nbsp;&nbsp;&nbsp;&nbsp;way to avoid using the builtin termcap.<br>
8&nbsp;&nbsp; Xterm sends ^[[H for&nbsp;<span class="Special">&lt;Home&gt;</span>&nbsp;and ^[[F for&nbsp;<span class="Special">&lt;End&gt;</span>&nbsp;in some mode.&nbsp;&nbsp;Also<br>
&nbsp;&nbsp;&nbsp;&nbsp;recognize these keys?&nbsp;&nbsp;Mostly useful for xterm simulators, like gnometerm.<br>
&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;<span class="Constant"><a href="http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style">http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style</a></span>.<br>
8&nbsp;&nbsp; For xterm also recognize keypad up/down/left/right and insert.<br>
8&nbsp;&nbsp; '[ and '] should be set to start/end of line when using a linewise operator<br>
&nbsp;&nbsp;&nbsp;&nbsp;(e.g., &quot;:w&quot;).<br>
8&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-A</span>&nbsp;can't handle big &quot;long&quot; numbers, they become negative.&nbsp;&nbsp;Check for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;-&quot; character, if not present, use unsigned long.<br>
8&nbsp;&nbsp; Add suspending with&nbsp;<span class="Special">CTRL-Z</span>&nbsp;at the &quot;more&quot; prompt, and when executing a long<br>
&nbsp;&nbsp;&nbsp;&nbsp;script in do_cmdline().<br>
8&nbsp;&nbsp; When using&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>, many swap files will be open.&nbsp;&nbsp;When Vim runs into the<br>
&nbsp;&nbsp;&nbsp;&nbsp;maximum number of open files, error messages will appear.&nbsp;&nbsp;Detect that<br>
&nbsp;&nbsp;&nbsp;&nbsp;this problem is present, and close any hidden files that don't have<br>
&nbsp;&nbsp;&nbsp;&nbsp;changes.<br>
8&nbsp;&nbsp; With&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>&nbsp;set such that the &quot;.viminfo&quot; file is written on a FAT<br>
&nbsp;&nbsp;&nbsp;&nbsp;filesystem, an illegal file name may be created: &quot;.vim&quot;.<br>
8&nbsp;&nbsp; For each buffer that is opened, the viminfo file is opened and read to<br>
&nbsp;&nbsp;&nbsp;&nbsp;check for file marks.&nbsp;&nbsp;This can be slow.<br>
7&nbsp;&nbsp; In xterm, recognize both vt100 and vt220 cursor keys.&nbsp;&nbsp;Change<br>
&nbsp;&nbsp;&nbsp;&nbsp;add_termcode() to not remove an existing entry for a name, when it's<br>
&nbsp;&nbsp;&nbsp;&nbsp;needed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Need a generic solution to recognize different codes for the same key.<br>
8&nbsp;&nbsp; Core dump within signal function: gdb doesn't show stack backtrace!&nbsp;&nbsp;Option<br>
&nbsp;&nbsp;&nbsp;&nbsp;to skip catch_signals()?<br>
9&nbsp;&nbsp; Repeating a &quot;cw&quot; with &quot;.&quot; doesn't work if the text was pasted from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;clipboard. (Thomas Jones)&nbsp;&nbsp;It's because the menu/toolbar item exits Insert<br>
&nbsp;&nbsp;&nbsp;&nbsp;mode and uses &quot;gP&quot;.&nbsp;&nbsp;How to fix this without breaking inserting a block of<br>
&nbsp;&nbsp;&nbsp;&nbsp;text?<br>
8&nbsp;&nbsp; In Replace mode pasting from the clipboard (using menu or toolbar) inserts<br>
&nbsp;&nbsp;&nbsp;&nbsp;all the text.&nbsp;&nbsp;Add &quot;:rmenu&quot;?<br>
8&nbsp;&nbsp; Pasting with the mouse in Replace mode inserts the text, instead of<br>
&nbsp;&nbsp;&nbsp;&nbsp;overwriting, when it is more than one line.&nbsp;&nbsp;Same for using&nbsp;<span class="Special">&lt;C-R&gt;</span>.<br>
9&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-E</span>&nbsp;and&nbsp;<span class="Special">CTRL-Y</span>&nbsp;don't work in small window when&nbsp;<a class="Type" href="options.html#'so'">'so'</a>&nbsp;is 4 and lines are<br>
&nbsp;&nbsp;&nbsp;&nbsp;wrapping (Acevedo/in.226).&nbsp;&nbsp;E.g., when using&nbsp;<span class="Special">CTRL-E</span>, window height 7,<br>
&nbsp;&nbsp;&nbsp;&nbsp;window might actually scroll down when last line of buffer is displayed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;--&gt; Remember if the previous command was &quot;cursor follows screen&quot; or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;screen follow cursor&quot; and use this in cursupdate().<br>
7&nbsp;&nbsp; tilde_replace() can only handle &quot;~/&quot;, should also do &quot;~user/&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Get the list of home directories (from /etc/passwd?&nbsp;&nbsp;Use getpwent()) and<br>
&nbsp;&nbsp;&nbsp;&nbsp;use some clever algorithm to match a path with that.&nbsp;&nbsp;Find common strings<br>
&nbsp;&nbsp;&nbsp;&nbsp;in the list?<br>
8&nbsp;&nbsp; When dragging status line with mouse, sometimes a jump when first clicking<br>
&nbsp;&nbsp;&nbsp;&nbsp;on the status line (caused by&nbsp;<a class="Type" href="options.html#'winheight'">'winheight'</a>).&nbsp;&nbsp;Select window on button up,<br>
&nbsp;&nbsp;&nbsp;&nbsp;instead of on button down.<br>
8&nbsp;&nbsp; Dragging the status line doesn't scroll but redraw.<br>
9&nbsp;&nbsp; Evaluating&nbsp;<a class="Type" href="options.html#'statusline'">'statusline'</a>&nbsp;in build_stl_str_hl() does not properly check for<br>
&nbsp;&nbsp;&nbsp;&nbsp;reaching the end of the available buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch to dynamically allocate the buffer for % items. (Eric Arnold, 2006<br>
&nbsp;&nbsp;&nbsp;&nbsp;May 14)<br>
8&nbsp;&nbsp; When performing incremental search, should abort searching as soon as a<br>
&nbsp;&nbsp;&nbsp;&nbsp;character is typed.<br>
8&nbsp;&nbsp; When the value of $MAKE contains a path, configure can't handle this.<br>
&nbsp;&nbsp;&nbsp;&nbsp;It's an autoconf bug.&nbsp;&nbsp;Remove the path from $MAKE to work around it.<br>
8&nbsp;&nbsp; How to set VIMRC_FILE to \&quot;something\&quot; for configure?&nbsp;&nbsp;Why does this not<br>
&nbsp;&nbsp;&nbsp;&nbsp;work: CFLAGS='-DVIMRC_FILE=\&quot;/mydir/myfile\&quot;' ./configure<br>
8&nbsp;&nbsp; The temporary file is sometimes not writable.&nbsp;&nbsp;Check for this, and use an<br>
&nbsp;&nbsp;&nbsp;&nbsp;alternate name when it isn't.&nbsp;&nbsp;Or add the&nbsp;<span class="MissingTag">'temptemplate'</span>&nbsp;option: template<br>
&nbsp;&nbsp;&nbsp;&nbsp;for the temp file name &quot;:set temptemplate=/usr/tmp/?????.tmp&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: Win32 version uses Windows temp directory, which might not work for<br>
&nbsp;&nbsp;&nbsp;&nbsp;cygwin bash.<br>
7&nbsp;&nbsp; Get error &quot;*, \+ or \( operand could be empty&quot; for pattern &quot;\(.\)\1\<span class="Special">{3}</span>&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Remember flags for backreferences.<br>
7&nbsp;&nbsp; When switching to Daylight Saving Time, Vim complains that a file has been<br>
&nbsp;&nbsp;&nbsp;&nbsp;changed since last read.&nbsp;&nbsp;Can we use a function that uses GMT?<br>
7&nbsp;&nbsp; When completing an environment variable after a '$', check for file names<br>
&nbsp;&nbsp;&nbsp;&nbsp;that contain a '$' after all have been found.<br>
8&nbsp;&nbsp; When &quot;cm&quot; termcap entry is missing, starting gvim shouldn't complain about<br>
&nbsp;&nbsp;&nbsp;&nbsp;it. (Lohner)&nbsp;&nbsp;Try out with &quot;vt100&quot; entry, cm replaced with cX.<br>
7&nbsp;&nbsp; When an include file starts with &quot;../&quot;, the check for already visiting<br>
&nbsp;&nbsp;&nbsp;&nbsp;this file doesn't work.&nbsp;&nbsp;Need to simplify the file name.<br>
7&nbsp;&nbsp; The names and comments for the arguments of do_browse() are confusing.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;dflt&quot; isn't the default file name when &quot;initdir&quot; is not NULL and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;initdir&quot; is the default path to be used.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is exactly half the window height, &quot;j&quot; causes a scroll of<br>
&nbsp;&nbsp;&nbsp;&nbsp;two lines at a time.&nbsp;&nbsp;&quot;k&quot; doesn't do this. (Cory T. Echols)<br>
8&nbsp;&nbsp; When write_viminfo() is used while there are many orphaned viminfo<br>
&nbsp;&nbsp;&nbsp;&nbsp;tempfiles writing the viminfo file fails.&nbsp;&nbsp;Give a clear error message so<br>
&nbsp;&nbsp;&nbsp;&nbsp;that the user knows he has to delete the files.<br>
7&nbsp;&nbsp; It's possible to redefine a script-local function with &quot;:func<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;SNR&gt;</span>123_Test()&quot;. (Krishna)&nbsp;&nbsp;Disallow this.<br>
<br>
<br>
I can't reproduce these (if you can, let me know how!):<br>
9&nbsp;&nbsp; NT 4.0 on NTFS file system: Editing &quot;.bashrc&quot; (drag and drop), file<br>
&nbsp;&nbsp;&nbsp;&nbsp;disappears.&nbsp;&nbsp;Editing &quot;.xyz&quot; is OK.&nbsp;&nbsp;Also, drag&amp;drop only works for three<br>
&nbsp;&nbsp;&nbsp;&nbsp;files. (McCollister)<br>
<br>
<br>
Problems that will (probably) not be solved:<br>
-&nbsp;&nbsp; GTK: when using the popup menu with spelling suggestions and releasing the<br>
&nbsp;&nbsp;&nbsp;&nbsp;right mouse button before the menu appears selecting an item with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;right mouse button has no effect.&nbsp;&nbsp;GTK does not produce an event for this.<br>
-&nbsp;&nbsp; GTK 2: Cannot use the file selector.&nbsp;&nbsp;When using it many things become<br>
&nbsp;&nbsp;&nbsp;&nbsp;slow.&nbsp;&nbsp;This is caused by some code in GTK that writes<br>
&nbsp;&nbsp;&nbsp;&nbsp;~/.recently-used.xbel every time an event is handled.&nbsp;&nbsp;It assumes the main<br>
&nbsp;&nbsp;&nbsp;&nbsp;loop is never quit, which is a wrong assumption.&nbsp;&nbsp;Also, it overwrites the<br>
&nbsp;&nbsp;&nbsp;&nbsp;file with different file permissions, which is a privacy issue.&nbsp;&nbsp;This<br>
&nbsp;&nbsp;&nbsp;&nbsp;needs to be fixed in GTK.&nbsp;&nbsp;A solution in Vim would be really complicated.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(2008 Jul 31)&nbsp;&nbsp;This appears to be fixed in Vim 7.3.<br>
-&nbsp;&nbsp; xterm title: The following scenario may occur (esp. when running the Vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;test script): Vim 1 sets the title to &quot;file1&quot;, then restores the title to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;xterm&quot; with an ESC sequence when exiting.&nbsp;&nbsp;Vim 2 obtains the old title<br>
&nbsp;&nbsp;&nbsp;&nbsp;with an X library call, this may result in &quot;file1&quot;, because the window<br>
&nbsp;&nbsp;&nbsp;&nbsp;manager hasn't processed the &quot;xterm&quot; title yet.&nbsp;&nbsp;Can apparently only be<br>
&nbsp;&nbsp;&nbsp;&nbsp;worked around with a delay.<br>
-&nbsp;&nbsp; In a terminal with&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;set such that the mouse is active when entering<br>
&nbsp;&nbsp;&nbsp;&nbsp;a command line, after executing a shell command that scrolls up the<br>
&nbsp;&nbsp;&nbsp;&nbsp;display and then pressing &quot;:&quot;: Selecting text with the mouse works like<br>
&nbsp;&nbsp;&nbsp;&nbsp;the display wasn't scrolled.&nbsp;&nbsp;Vim doesn't know how much the external<br>
&nbsp;&nbsp;&nbsp;&nbsp;command scrolled up the display.&nbsp;&nbsp;Use Shift to select text.<br>
-&nbsp;&nbsp; X windows: When $DISPLAY points to a X server where there is no access<br>
&nbsp;&nbsp;&nbsp;&nbsp;permission, trying to connect to the X server causes an error message.<br>
&nbsp;&nbsp;&nbsp;&nbsp;XtOpenDisplay() prints this directly, there is no way to avoid it.<br>
-&nbsp;&nbsp; X windows: Setting&nbsp;<a class="Type" href="options.html#'guifontset'">'guifontset'</a>&nbsp;to an illegal value sometimes crashes Vim.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is caused by a fault in a X library function, can't be solved in Vim.<br>
-&nbsp;&nbsp; Win32 tcl: has(&quot;tcl&quot;) hangs when the tcl84.dll is from cygwin.<br>
-&nbsp;&nbsp; Motif: When adding a menu item &quot;Find this &amp;Symbol&quot;, the &quot;s&quot; in &quot;this&quot; will<br>
&nbsp;&nbsp;&nbsp;&nbsp;be underlined, instead of in &quot;Symbol&quot;.&nbsp;&nbsp;Motif doesn't let us specify which<br>
&nbsp;&nbsp;&nbsp;&nbsp;character gets the highlighting.<br>
-&nbsp;&nbsp; Moving the cursor removes color in color-xterm.&nbsp;&nbsp;This is a color-xterm<br>
&nbsp;&nbsp;&nbsp;&nbsp;problem!&nbsp;&nbsp;color-xterm ver. 6.1 beta 3 and later work properly.<br>
-&nbsp;&nbsp; In zsh, &quot;gvim&amp;&quot; changes the terminal settings.&nbsp;&nbsp;This is a zsh problem.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Jennings)<br>
-&nbsp;&nbsp; Problem with HPterm under X: old contents of window is lost (Cosentino).<br>
-&nbsp;&nbsp; Amiga: When using quickfix with the Manx compiler we only get the first 25<br>
&nbsp;&nbsp;&nbsp;&nbsp;errors.&nbsp;&nbsp;How do we get the rest?<br>
-&nbsp;&nbsp; Amiga: The &quot;:cq&quot; command does not always abort the Manx compiler.&nbsp;&nbsp;Why?<br>
-&nbsp;&nbsp; Linux: A file with protection r--rw-rw- is seen readonly for others.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;access() function in GNU libc is probably wrong.<br>
-&nbsp;&nbsp; When doing a&nbsp;<span class="Special">CTRL-Z</span>&nbsp;and typing a command for the shell, while Vim is busy<br>
&nbsp;&nbsp;&nbsp;&nbsp;(e.g. writing a file), the command for the shell is sometimes eaten by Vim,<br>
&nbsp;&nbsp;&nbsp;&nbsp;because the terminal mode is changed from RAW to CBREAK.<br>
-&nbsp;&nbsp; An old version of GNU tgoto can't handle the terminfo code for &quot;AF&quot;.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;%p1&quot; is interpreted as &quot;%p&quot; and &quot;1&quot;, causing color not to be working.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Fix: Change the &quot;%p1&quot; in the &quot;AF&quot; and &quot;AB&quot; terminfo entries to &quot;%p&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Benzinger).<br>
-&nbsp;&nbsp; When running an external command from the GUI, typeahead is going to that<br>
&nbsp;&nbsp;&nbsp;&nbsp;program, not to Vim.&nbsp;&nbsp;It looks like the shell eats the characters, Vim<br>
&nbsp;&nbsp;&nbsp;&nbsp;can't get back what the external command didn't use.<br>
-&nbsp;&nbsp; Win32 GUI: Error code from external command not returned in shell_error.<br>
&nbsp;&nbsp;&nbsp;&nbsp;It appears that cmd.exe and command.com don't return an error code.<br>
-&nbsp;&nbsp; Win32 GUI: The Toolbar is a bit too high when the flat style is being<br>
&nbsp;&nbsp;&nbsp;&nbsp;used.&nbsp;&nbsp;We don't have control over the height of the Toolbar.<br>
-&nbsp;&nbsp; Win32: All files created on the day of switching from winter to summer<br>
&nbsp;&nbsp;&nbsp;&nbsp;time cause &quot;changed since editing started&quot; messages.&nbsp;&nbsp;It goes away when<br>
&nbsp;&nbsp;&nbsp;&nbsp;the file is written again the next day, or the timezone is adjusted.<br>
&nbsp;&nbsp;&nbsp;&nbsp;DJGPP version is OK. (Zaimi)&nbsp;&nbsp;Looks like a problem with the Win32 library.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Rebooting doesn't help.&nbsp;&nbsp;Time stamps look OK in directory. (Penn)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is this on FAT (stores wall clock time) or NTFS (stores UTS)?<br>
-&nbsp;&nbsp; Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles<br>
&nbsp;&nbsp;&nbsp;&nbsp;are not on the boot disk.&nbsp;&nbsp;This is caused by a wrong value of $HOMEDRIVE.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is a bug in XP, see MSKB article 818134.<br>
-&nbsp;&nbsp; Win32, MS-Windows: expanding plugin/**/*.vim also picks up<br>
&nbsp;&nbsp;&nbsp;&nbsp;dir/ctags.vim,v.&nbsp;&nbsp;This is because the short file name is something like<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;ctags~1.vim&quot; and that matches the pattern.<br>
-&nbsp;&nbsp; SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal<br>
&nbsp;&nbsp;&nbsp;&nbsp;scroll bar for the &quot;files&quot; selection.&nbsp;&nbsp;This is a problem in the Motif<br>
&nbsp;&nbsp;&nbsp;&nbsp;libraries, get a patch from Sun.<br>
-&nbsp;&nbsp; Solaris 2.6 with GTK and Perl: gvim crashes when started.&nbsp;&nbsp;Problem with X<br>
&nbsp;&nbsp;&nbsp;&nbsp;input method called from GDK code.&nbsp;&nbsp;Without Perl it doesn't crash.<br>
-&nbsp;&nbsp; VMS: Vimdiff doesn't work with the VMS diff, because the output looks<br>
&nbsp;&nbsp;&nbsp;&nbsp;different.&nbsp;&nbsp;This makes test 47 fail.&nbsp;&nbsp;Install a Unix-compatible diff.<br>
-&nbsp;&nbsp; Win32 GUI: mouse wheel always scrolls rightmost window.&nbsp;&nbsp;The events arrive<br>
&nbsp;&nbsp;&nbsp;&nbsp;in Vim as if the rightmost scrollbar was used.<br>
-&nbsp;&nbsp; GTK with Gnome: Produces an error message when starting up:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gdk-WARNING **: locale not supported by C library<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is caused by the gnome library gnome_init() setting $LC_CTYPE to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;en_US&quot;.&nbsp;&nbsp;Not all systems support this locale name, thus causing the<br>
&nbsp;&nbsp;&nbsp;&nbsp;error.&nbsp;&nbsp;Hopefully a newer version of GTK/Gnome fixes this problem.<br>
-&nbsp;&nbsp; GTK 2: With this mapping the hit-enter prompt is _sometimes_ below the<br>
&nbsp;&nbsp;&nbsp;&nbsp;screen, at other times there is a grey area below the command line:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:nmap&nbsp;<span class="Special">&lt;F11&gt;</span>&nbsp;:if &amp;guioptions=~'m' \| set guioptions-=m \| else \| set guioptions+=m \| endif<span class="Special">&lt;cr&gt;</span><br>
-&nbsp;&nbsp; GTK: When pasting a selection from Vim to xclipboard gvim crashes with a<br>
&nbsp;&nbsp;&nbsp;&nbsp;ABRT signal.&nbsp;&nbsp;Probably an error in the file gdkselection.c, the assert<br>
&nbsp;&nbsp;&nbsp;&nbsp;always fails when XmbTextListToTextProperty() fails. (Tom Allard)<br>
-&nbsp;&nbsp; GTK 2: gives an assertion error for every non-builtin icon in the toolbar.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is a GTK 2.4.x bug, fixed in GTK 2.4.2. (Thomas de Grenier de Latour)<br>
-&nbsp;&nbsp; When using an xterm that supports the termresponse feature, and the&nbsp;<a class="Type" href="term.html#'t_Co'">'t_Co'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;termcap option was wrong when Vim started, it will be corrected when the<br>
&nbsp;&nbsp;&nbsp;&nbsp;termresponse is received.&nbsp;&nbsp;Since the number of colors changes, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlighting needs to be initialized again.&nbsp;&nbsp;This may cause colors defined<br>
&nbsp;&nbsp;&nbsp;&nbsp;in the vimrc file to be lost.<br>
-&nbsp;&nbsp; On Windows NT 4.0 the number of files passed to Vim with drag&amp;drop and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;Edit with Vim&quot; is limited.&nbsp;&nbsp;The maximum command line length is 255 chars.<br>
<br>
<span class="PreProc">---------------------&nbsp;&nbsp;extensions and improvements ----------------------</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#extensions-improvements" name="extensions-improvements">extensions-improvements</a><br>
<br>
Most interesting new features to be added when all bugs have been fixed:<br>
-&nbsp;&nbsp; Using &quot;:exe edit fname&quot; has escaping problems.&nbsp;&nbsp;Use &quot;:edit ++(fname)&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Thus use &quot;++=&quot; to give arguments as expressions, comma separated as if<br>
&nbsp;&nbsp;&nbsp;&nbsp;calling a function.<br>
&nbsp;&nbsp;&nbsp;&nbsp;With options: &quot;:edit ++(['!', '++enc=abc'], ['+/pat'], fname)&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: Make a function for Ex commands: cmd_edit().<br>
-&nbsp;&nbsp; Add COLUMN NUMBERS to &quot;:&quot; commands &quot;:line1,line2[col1,col2]cmd&quot;.&nbsp;&nbsp;Block<br>
&nbsp;&nbsp;&nbsp;&nbsp;can be selected with&nbsp;<span class="Special">CTRL-V</span>.&nbsp;&nbsp;Allow '$' (end of line) for col2.<br>
-&nbsp;&nbsp; ECLIPSE plugin.&nbsp;&nbsp;Problem is: the interface is very complicated.&nbsp;&nbsp;Need to<br>
&nbsp;&nbsp;&nbsp;&nbsp;implement part in Java and then connect to Vim.&nbsp;&nbsp;Some hints from Alexandru<br>
&nbsp;&nbsp;&nbsp;&nbsp;Roman, 2004 Dec 15.&nbsp;&nbsp;Should then also work with Oracle Jdeveloper, see JSR<br>
&nbsp;&nbsp;&nbsp;&nbsp;198 standard&nbsp;<span class="Constant"><a href="http://www.jcp.org/en/jsr/detail?id=198">http://www.jcp.org/en/jsr/detail?id=198</a></span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Eclim does it:&nbsp;<span class="Constant"><a href="http://eclim.sourceforge.net/">http://eclim.sourceforge.net/</a></span>&nbsp;&nbsp;(Eric Van Dewoestine)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Plugin that uses a terminal emulator:&nbsp;<span class="Constant"><a href="http://vimplugin.sf.net">http://vimplugin.sf.net</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;And another one:&nbsp;<span class="Constant"><a href="http://www.satokar.com/viplugin/index.php">http://www.satokar.com/viplugin/index.php</a></span><br>
-&nbsp;&nbsp; STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Especially when using the scrollbar.&nbsp;&nbsp;Typing a cursor-movement command<br>
&nbsp;&nbsp;&nbsp;&nbsp;scrolls back to where the cursor is.<br>
-&nbsp;&nbsp; Scroll commands by screen line. g&nbsp;<span class="Special">CTRL-E</span>&nbsp;and g&nbsp;<span class="Special">CTRL-Y</span>&nbsp;?&nbsp;&nbsp;Requires the<br>
&nbsp;&nbsp;&nbsp;&nbsp;first line to be able to start halfway.<br>
8&nbsp;&nbsp; Add a command to jump to a certain kind of tag.&nbsp;&nbsp;Allow the user to specify<br>
&nbsp;&nbsp;&nbsp;&nbsp;values for the optional fields.&nbsp;&nbsp;E.g., &quot;:tag size type=m&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also allow specifying the file and command, so that the result of<br>
&nbsp;&nbsp;&nbsp;&nbsp;taglist() can be used.<br>
-&nbsp;&nbsp; X11: Make it possible to run Vim inside a window of another program.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This can be done with XReparentWindow().&nbsp;&nbsp;But how exactly?<br>
<br>
<br>
Documentation:<br>
8&nbsp;&nbsp; List of Vim runtime directories.&nbsp;&nbsp;dotvim.txt from Charles Campbell, 2007<br>
&nbsp;&nbsp;&nbsp;&nbsp;Feb 20.<br>
8&nbsp;&nbsp; The GUI help should explain the Find and Find/Replace dialogs.&nbsp;&nbsp;Add a link<br>
&nbsp;&nbsp;&nbsp;&nbsp;to it from &quot;:promptrepl&quot; and &quot;:promptfind&quot;.<br>
8&nbsp;&nbsp; List of options should mention whether environment variables are expanded<br>
&nbsp;&nbsp;&nbsp;&nbsp;or not.<br>
8&nbsp;&nbsp; Extend usr_27.txt a bit. (Adam Seyfarth)<br>
9&nbsp;&nbsp; Make the Reference Manual more precise.&nbsp;&nbsp;For each command mention:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- change to cursor position and curswant<br>
&nbsp;&nbsp;&nbsp;&nbsp;- if it can be undone (u/<span class="Special">CTRL-R</span>) and redone (.)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- how it works for folded lines<br>
&nbsp;&nbsp;&nbsp;&nbsp;- how it works with multi-byte characters<br>
9&nbsp;&nbsp; In change.txt, remark about Javadoc isn't right.&nbsp;&nbsp;Right alignment would<br>
&nbsp;&nbsp;&nbsp;&nbsp;work too.<br>
8&nbsp;&nbsp; Spread the windows commands over the other files.&nbsp;&nbsp;For example, &quot;:stag&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;should be with &quot;:tag&quot;.&nbsp;&nbsp;Cross-link with tags to avoid too much double<br>
&nbsp;&nbsp;&nbsp;&nbsp;text.<br>
8&nbsp;&nbsp; Add tags for all features, e.g. &quot;gui_running&quot;.<br>
7&nbsp;&nbsp; MS-Windows: When a wrong command is typed with an ALT key, give a hint to<br>
&nbsp;&nbsp;&nbsp;&nbsp;look at the help for&nbsp;<a class="Type" href="options.html#'winaltkeys'">'winaltkeys'</a>.<br>
7&nbsp;&nbsp; Add a help.vim plugin that maps&nbsp;<span class="Special">&lt;Tab&gt;</span>&nbsp;to jump to the next tag in || and<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;C-Tab&gt;</span>&nbsp;(and&nbsp;<span class="Special">&lt;S-Tab&gt;</span>) to the previous tag.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch by Balazs Kezes, 2007 Dec 30.&nbsp;&nbsp;Remark from A. Politz.<br>
-&nbsp;&nbsp; Check text editor compendium for vi and Vim remarks.<br>
<br>
<br>
Help:<br>
-&nbsp;&nbsp; First try using the &quot;:help&quot; argument literally, before using it as a<br>
&nbsp;&nbsp;&nbsp;&nbsp;pattern.&nbsp;&nbsp;And then match it as part of a tag.<br>
-&nbsp;&nbsp; When a help item has multiple matches make it possible to use &quot;:tn&quot; to go<br>
&nbsp;&nbsp;&nbsp;&nbsp;to the other matches.<br>
-&nbsp;&nbsp; Support a way to view (and edit) .info files.<br>
-&nbsp;&nbsp; Implement a &quot;sticky&quot; help window, some help text lines that are always<br>
&nbsp;&nbsp;&nbsp;&nbsp;displayed in a window with fixed height. (Guckes)&nbsp;&nbsp;Use &quot;~/.vimhelp&quot; file,<br>
&nbsp;&nbsp;&nbsp;&nbsp;user can edit it to insert his favorite commands, new account can contain a<br>
&nbsp;&nbsp;&nbsp;&nbsp;default contents.<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'winminheight'">'winminheight'</a>&nbsp;a local option, so that the user can set a minimal<br>
&nbsp;&nbsp;&nbsp;&nbsp;height for the help window (and other windows).<br>
-&nbsp;&nbsp; &quot;:help :s^I&quot; should expand to &quot;:help :substitute&quot;.<br>
-&nbsp;&nbsp; Make the help key (<span class="Special">&lt;F1&gt;</span>) context sensitive?<br>
-&nbsp;&nbsp; Learn mode: show short help while typing commands.<br>
<br>
<br>
User Friendlier:<br>
8&nbsp;&nbsp; Windows install with install.exe: Use .exe instead of .bat files for<br>
&nbsp;&nbsp;&nbsp;&nbsp;links, so that command line arguments are passed on unmodified? (Walter<br>
&nbsp;&nbsp;&nbsp;&nbsp;Briscoe)<br>
8&nbsp;&nbsp; Windows install: Be able to associate Vim with a selection of file types?<br>
8&nbsp;&nbsp; Windows uninstall: Have uninstal.c delete the vimfiles directories that<br>
&nbsp;&nbsp;&nbsp;&nbsp;dosinst.c creates.&nbsp;&nbsp;List the contents of the directory (recursively) if<br>
&nbsp;&nbsp;&nbsp;&nbsp;the user asks for it.&nbsp;&nbsp;Requires an implementation of &quot;rm -rf&quot;.<br>
8&nbsp;&nbsp; Remember the name of the vimrc file that was used (~/.vimrc, $VIM/_vimrc,<br>
&nbsp;&nbsp;&nbsp;&nbsp;$HOME/_vimrc, etc.) and add &quot;edit vimrc&quot; to the File menu.<br>
-&nbsp;&nbsp; Add a way to save local settings and mappings into a new plugin file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:mkplugin&nbsp;<span class="Special">&lt;file&gt;</span>&quot;?<br>
-&nbsp;&nbsp; Add mappings local to a window: &quot;:map&nbsp;<span class="Special">&lt;window&gt;</span>&nbsp;...&quot;?<br>
9&nbsp;&nbsp; Add buffer-local menu.&nbsp;&nbsp;Should offer a choice between removing the menu or<br>
&nbsp;&nbsp;&nbsp;&nbsp;disabling it.&nbsp;&nbsp;Be careful that tear-offs don't disappear (keep one empty<br>
&nbsp;&nbsp;&nbsp;&nbsp;item?).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: use BufEnter and BufLeave autocommands.<br>
8&nbsp;&nbsp; make a vimtutor script for Amiga and other systems.<br>
7&nbsp;&nbsp; When Vim detects a file is being edited elsewhere and it's a gvim session<br>
&nbsp;&nbsp;&nbsp;&nbsp;of the same user it should offer a &quot;Raise&quot; button, so that the other gvim<br>
&nbsp;&nbsp;&nbsp;&nbsp;window can be displayed. (Eduard)<br>
8&nbsp;&nbsp; Support saving and restoring session for X windows?&nbsp;&nbsp;It should work to do<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:mksession&quot; and use &quot;-S fname&quot; for the restart command.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;gui_x11_wm_protocol_handler() already takes care of the rest.<br>
&nbsp;&nbsp;&nbsp;&nbsp;global_event_filter() for GTK.<br>
<br>
<br>
Tab pages:<br>
9&nbsp;&nbsp; GUI implementation for the tab pages line for other systems.<br>
7&nbsp;&nbsp; GUI: Control over the appearance of the text in the labels (bold, color,<br>
&nbsp;&nbsp;&nbsp;&nbsp;font, etc.)<br>
8&nbsp;&nbsp; Make GUI menu in tab pages line configurable.&nbsp;&nbsp;Like the popup menu.<br>
8&nbsp;&nbsp; balloons for the tab page labels that are shortened to show the full path.<br>
7&nbsp;&nbsp; :tabdup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;duplicate the tab with all its windows.<br>
7&nbsp;&nbsp; Option to put tab line at the left or right?&nbsp;&nbsp;Need an option to specify<br>
&nbsp;&nbsp;&nbsp;&nbsp;its width.&nbsp;&nbsp;It's like a separate window with &quot;:tabs&quot; output.<br>
8&nbsp;&nbsp; Add local options for each tab page?&nbsp;&nbsp;E.g.,&nbsp;<a class="Type" href="options.html#'diffopt'">'diffopt'</a>&nbsp;could differ between<br>
&nbsp;&nbsp;&nbsp;&nbsp;tab pages.<br>
7&nbsp;&nbsp; Add local highlighting for each tab page?<br>
7&nbsp;&nbsp; Add local directory for tab pages?&nbsp;&nbsp;How would this interfere with<br>
&nbsp;&nbsp;&nbsp;&nbsp;window-local directories?<br>
<br>
<br>
Spell checking:<br>
-&nbsp;&nbsp; Support more regions? Caolan McNamara argues it's needed for es_XX.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777">https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777</a></span>&nbsp;&nbsp;&nbsp;&nbsp;<br>
-&nbsp;&nbsp; Unicode defines another quote character: 0x2019.&nbsp;&nbsp;Use it as an equivalent<br>
&nbsp;&nbsp;&nbsp;&nbsp;of a single quote, thus use it as a word character like a quote and match<br>
&nbsp;&nbsp;&nbsp;&nbsp;with words, replacing the curly quote with a single quote.<br>
-&nbsp;&nbsp; Could filter &amp;eacute; things for HTML before doing spell checking.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Similarly for TeX.<br>
-&nbsp;&nbsp; The Hungarian spell file uses four extra characters in the FOL/UPP/LOW<br>
&nbsp;&nbsp;&nbsp;&nbsp;items than other spell files with the ISO-8859-2 encoding, that causes<br>
&nbsp;&nbsp;&nbsp;&nbsp;problem when changing&nbsp;<a class="Type" href="options.html#'spelllang'">'spelllang'</a>.&nbsp;&nbsp;There is no obvious way to fix this.<br>
-&nbsp;&nbsp; Considering Hunspell 1.1.4:<br>
&nbsp;&nbsp;&nbsp;&nbsp;What does MAXNGRAMSUGS do?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is COMPLEXPREFIXES necessary when we have flags for affixes?<br>
-&nbsp;&nbsp; Support spelling words in CamelCase as if they were two separate words.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Requires some option to enable it. (Timothy Knox)<br>
-&nbsp;&nbsp; There is no Finnish spell checking file.&nbsp;&nbsp;For openoffice Voikko is now<br>
&nbsp;&nbsp;&nbsp;&nbsp;used, which is based on Malaga:&nbsp;<span class="Constant"><a href="http://home.arcor.de/bjoern-beutel/malaga/">http://home.arcor.de/bjoern-beutel/malaga/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;(Teemu Likonen)<br>
8&nbsp;&nbsp; &quot;:mkspell&quot; still takes much too long in Hungarian dictionary from<br>
&nbsp;&nbsp;&nbsp;&nbsp;hunspell.&nbsp;&nbsp;Only solution appears to be to postpone secondary suffixes.<br>
8&nbsp;&nbsp; Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.<br>
&nbsp;&nbsp;&nbsp;&nbsp;WFP_COMPPERMIT and WFP_COMPFORBID<br>
8&nbsp;&nbsp; implement use of&nbsp;<span class="Special">&lt;compoptions&gt;</span>&nbsp;in .spl file:<br>
&nbsp;&nbsp;&nbsp;&nbsp;implement CHECKCOMPOUNDREP: when a compound word seems to be OK apply REP<br>
&nbsp;&nbsp;&nbsp;&nbsp;items and check if the result is a valid word.<br>
&nbsp;&nbsp;&nbsp;&nbsp;implement CHECKCOMPOUNDDUP<br>
&nbsp;&nbsp;&nbsp;&nbsp;implement CHECKCOMPOUNDTRIPLE<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add CHECKCOMPOUNDCASE: when compounding make leading capital lower case.<br>
&nbsp;&nbsp;&nbsp;&nbsp;How is it supposed to work?<br>
-&nbsp;&nbsp; Add a command the repeats ]s and z=, showing the misspelled word in its<br>
&nbsp;&nbsp;&nbsp;&nbsp;context.&nbsp;&nbsp;Thus to spell-check a whole file.<br>
-&nbsp;&nbsp; suggestion for &quot;KG&quot; to &quot;kg&quot; when it's keepcase.<br>
-&nbsp;&nbsp; For flags on affixes: Use a &quot;AFFCOMPSET&quot; flag; means the compound flags of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the word are not used.<br>
-&nbsp;&nbsp; Support breakpoint character ? 0xb7 and ignore it?&nbsp;&nbsp;Makes it possible to<br>
&nbsp;&nbsp;&nbsp;&nbsp;use same wordlist for hyphenation.<br>
-&nbsp;&nbsp; Compound word is accepted if nr of words is &lt;= COMPOUNDWORDMAX OR nr of<br>
&nbsp;&nbsp;&nbsp;&nbsp;syllables &lt;= COMPOUNDSYLMAX.&nbsp;&nbsp;Specify using AND in the affix file?<br>
-&nbsp;&nbsp; NEEDCOMPOUND also used for affix?&nbsp;&nbsp;Or is this called ONLYINCOMPOUND now?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or is ONLYINCOMPOUND only for inside a compound, not at start or end?<br>
-&nbsp;&nbsp; Do we need a flag for the rule that when compounding is done the following<br>
&nbsp;&nbsp;&nbsp;&nbsp;word doesn't have a capital after a word character, even for Onecap words?<br>
-&nbsp;&nbsp; New hunspell home page:&nbsp;<span class="Constant"><a href="http://hunspell.sourceforge.net/">http://hunspell.sourceforge.net/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;- Version 1.1.0 is out now, look into that.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Lots of code depends on LANG, that isn't right.&nbsp;&nbsp;Enable each mechanism<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in the affix file separately.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Example with compounding dash is bad, gets in the way of setting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;COMPOUNDMIN and COMPOUNDWORDMAX to a reasonable value.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- PSEUDOROOT == NEEDAFFIX<br>
&nbsp;&nbsp;&nbsp;&nbsp;- COMPOUNDROOT -&gt; COMPOUNDED?&nbsp;&nbsp;For a word that already is a compound word<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Or use COMPOUNDED2, COMPOUNDED3, etc.<br>
-&nbsp;&nbsp; CIRCUMFIX: when a word uses a prefix marked with the CIRCUMFIX flag, then<br>
&nbsp;&nbsp;&nbsp;&nbsp;the word must also have a suffix marked with the CIRCUMFIX flag.&nbsp;&nbsp;It's a<br>
&nbsp;&nbsp;&nbsp;&nbsp;bit primitive, since only one flag is used, which doesn't allow matching<br>
&nbsp;&nbsp;&nbsp;&nbsp;specific prefixes with suffixes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PSFX&nbsp;<span class="Special">{flag}</span>&nbsp;<span class="Special">{pchop}</span>&nbsp;<span class="Special">{padd}</span>&nbsp;<span class="Special">{pcond}</span>&nbsp;<span class="Special">{schop}</span>&nbsp;<span class="Special">{sadd}</span>[/flags]&nbsp;<span class="Special">{scond}</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;We might not need this at all, you can use the NEEDAFFIX flag and the<br>
&nbsp;&nbsp;&nbsp;&nbsp;affix which is required.<br>
-&nbsp;&nbsp; When a suffix has more than one syllable, it may count as a word for<br>
&nbsp;&nbsp;&nbsp;&nbsp;COMPOUNDWORDMAX.<br>
-&nbsp;&nbsp; Add flags to count extra syllables in a word.&nbsp;&nbsp;SYLLABLEADD1 SYLLABLEADD2,<br>
&nbsp;&nbsp;&nbsp;&nbsp;etc.?&nbsp;&nbsp;Or make it possible to specify the syllable count of a word<br>
&nbsp;&nbsp;&nbsp;&nbsp;directly, e.g., after another slash: /abc/3<br>
-&nbsp;&nbsp; MORPHO item in affix file: ignore TAB and morphological field after<br>
&nbsp;&nbsp;&nbsp;&nbsp;word/flags and affix.<br>
-&nbsp;&nbsp; Implement multiple flags for compound words and CMP item?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Await comments from other spell checking authors.<br>
-&nbsp;&nbsp; Also see tklspell:&nbsp;<span class="Constant"><a href="http://tkltrans.sourceforge.net/">http://tkltrans.sourceforge.net/</a></span><br>
8&nbsp;&nbsp; Charles Campbell asks for method to add &quot;contained&quot; groups to existing<br>
&nbsp;&nbsp;&nbsp;&nbsp;syntax items (to add @Spell).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add &quot;:syntax contains&nbsp;<span class="Special">{pattern}</span>&nbsp;add=@Spell&quot; command?&nbsp;&nbsp;A bit like &quot;:syn<br>
&nbsp;&nbsp;&nbsp;&nbsp;cluster&quot; but change the contains list directly for matching syntax items.<br>
-&nbsp;&nbsp; References: MySpell library (in OpenOffice.org).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://spellchecker.mozdev.org/source.html">http://spellchecker.mozdev.org/source.html</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/">http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;author: Kevin Hendricks &lt;kevin.hendricks@sympatico.ca&gt;<br>
8&nbsp;&nbsp; It is currently not possible to mark &quot;can not&quot; as rare, because &quot;can&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;not&quot; are good words.&nbsp;&nbsp;Find a way to let &quot;rare&quot; overrule &quot;good&quot;?<br>
8&nbsp;&nbsp; Make &quot;en-rare&quot; spell file?&nbsp;&nbsp;Ask Charles Campbell.<br>
8&nbsp;&nbsp; The English dictionaries for different regions are not consistent in their<br>
&nbsp;&nbsp;&nbsp;&nbsp;use of words with a dash.<br>
7&nbsp;&nbsp; Insert mode completion mechanism that uses the spell word lists.<br>
8&nbsp;&nbsp; Add hl groups to&nbsp;<a class="Type" href="options.html#'spelllang'">'spelllang'</a>?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath<br>
&nbsp;&nbsp;&nbsp;&nbsp;More complicated: Regions with different languages?&nbsp;&nbsp;E.g., comments<br>
&nbsp;&nbsp;&nbsp;&nbsp;in English, strings in German (po file).<br>
<br>
<br>
Diff mode:<br>
9&nbsp;&nbsp; When making small changes, e.g. deleting a character, update the diff.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Possibly without running diff.<br>
8&nbsp;&nbsp; Also show difference with the file when editing started?&nbsp;&nbsp;Should show what<br>
&nbsp;&nbsp;&nbsp;&nbsp;can be undone. (Tom Popovich)<br>
<br>
Folding:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(commands still available: zI zJ zK zp zP zq zQ zV zy zY;<br>
&nbsp;&nbsp;&nbsp;&nbsp;secondary: zB zS zT zZ, z=)<br>
8&nbsp;&nbsp; Vertical folds: looks like vertically split windows, but the cursor moves<br>
&nbsp;&nbsp;&nbsp;&nbsp;through the vertical separator, separator moves when scrolling.<br>
8&nbsp;&nbsp; Add &quot;z/&quot; and &quot;z?&quot; for searching in not folded text only.<br>
8&nbsp;&nbsp; When a closed fold is displayed open because of&nbsp;<a class="Type" href="options.html#'foldminlines'">'foldminlines'</a>, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;behavior of commands is still like the fold is closed.&nbsp;&nbsp;How to make the<br>
&nbsp;&nbsp;&nbsp;&nbsp;user aware of this?<br>
8&nbsp;&nbsp; Add an option&nbsp;<span class="MissingTag">'foldskip'</span>&nbsp;with values like&nbsp;<a class="Type" href="options.html#'foldopen'">'foldopen'</a>&nbsp;that specifies which<br>
&nbsp;&nbsp;&nbsp;&nbsp;commands skip over a closed fold.<br>
8&nbsp;&nbsp; &quot;H&quot; and &quot;L&quot; count buffer lines instead of window lines. (Servatius Brandt)<br>
8&nbsp;&nbsp; Add a way to add fold-plugins.&nbsp;&nbsp;Johannes Zellner has one for VB.<br>
7&nbsp;&nbsp; When using manual folding, the undo command should also restore folds.<br>
-&nbsp;&nbsp; Allow completely hiding a closed fold.&nbsp;&nbsp;E.g., by setting&nbsp;<a class="Type" href="options.html#'foldtext'">'foldtext'</a>&nbsp;to an<br>
&nbsp;&nbsp;&nbsp;&nbsp;empty string.&nbsp;&nbsp;Require showing a character in&nbsp;<a class="Type" href="options.html#'foldcolumn'">'foldcolumn'</a>&nbsp;to avoid the<br>
&nbsp;&nbsp;&nbsp;&nbsp;missing line goes unnoticed.<br>
&nbsp;&nbsp;&nbsp;&nbsp;How to implement this?<br>
-&nbsp;&nbsp; When pressing the down arrow of a scrollbar, a closed fold doesn't scroll<br>
&nbsp;&nbsp;&nbsp;&nbsp;until after a long time.&nbsp;&nbsp;How to make scrolling with closed folds<br>
&nbsp;&nbsp;&nbsp;&nbsp;smoother?<br>
-&nbsp;&nbsp; When creating a session, also store folds for buffers in the buffer list,<br>
&nbsp;&nbsp;&nbsp;&nbsp;using the wininfo in wi_folds.<br>
-&nbsp;&nbsp; When currently editing the first file in the argument list the session<br>
&nbsp;&nbsp;&nbsp;&nbsp;file can contain:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args version.c main.c<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;edit version.c<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can editing version.c twice be avoided?<br>
-&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'foldmethod'">'foldmethod'</a>&nbsp;&quot;textobject&quot;: fold on sections and paragraph text objects.<br>
-&nbsp;&nbsp; &quot;zuf&quot;: undo change in manual fold. &quot;zUf&quot; redo change in manual fold.&nbsp;&nbsp;How<br>
&nbsp;&nbsp;&nbsp;&nbsp;to implement this?<br>
-&nbsp;&nbsp; &quot;zJ&quot; command: add the line or fold below the fold in the fold under the<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor.<br>
-&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'foldmethod'">'foldmethod'</a>&nbsp;&quot;syntax&quot;: &quot;fold=3&quot; argument: set fold level for a region or<br>
&nbsp;&nbsp;&nbsp;&nbsp;match.<br>
-&nbsp;&nbsp; Apply a new foldlevel to a range of lines. (Steve Litt)<br>
<br>
Multi-byte characters:<br>
-&nbsp;&nbsp; When editing a file with both utf-8 and latin1 text Vim always falls back<br>
&nbsp;&nbsp;&nbsp;&nbsp;to latin1.&nbsp;&nbsp;Add a command to convert the latin1 characters to utf-8?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:unmix utf-8,latin1 filename<br>
&nbsp;&nbsp;&nbsp;&nbsp;Would only work when&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;is utf-8.<br>
9&nbsp;&nbsp; When the tail byte of a double-byte character is illegal (e.g., a CR), the<br>
&nbsp;&nbsp;&nbsp;&nbsp;display is messed up (Yasuhiro Matsumoto).&nbsp;&nbsp;Should check for illegal<br>
&nbsp;&nbsp;&nbsp;&nbsp;double-byte characters and display them differently (display each single<br>
&nbsp;&nbsp;&nbsp;&nbsp;byte).<br>
9&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'fenc'">'fenc'</a>&nbsp;in modeline problem: add option to reload the file when&nbsp;<a class="Type" href="options.html#'fenc'">'fenc'</a>&nbsp;is<br>
&nbsp;&nbsp;&nbsp;&nbsp;set to a different value in a modeline?&nbsp;&nbsp;Option can be default on.&nbsp;&nbsp;Could<br>
&nbsp;&nbsp;&nbsp;&nbsp;it be done with an autocommand?<br>
8&nbsp;&nbsp; Add an item in&nbsp;<a class="Type" href="options.html#'fileencodings'">'fileencodings'</a>&nbsp;to check the first lines of a file for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the encoding.&nbsp;&nbsp;See Python PEP:&nbsp;<span class="Constant"><a href="http://www.python.org/peps/pep-0263.html">http://www.python.org/peps/pep-0263.html</a></span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;To avoid getting a wrong encoding only accept something Emacs-like:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;-*- coding: enc-na_me.foo -*-&quot; and &quot;-*- coding= enc-na_me.foo -*-&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Match with &quot;-\*-\s*coding[:=]\s*\([::word::-_.]\+\)\s*-\*-&quot; and use first<br>
&nbsp;&nbsp;&nbsp;&nbsp;item.<br>
8&nbsp;&nbsp; Add an item in&nbsp;<a class="Type" href="options.html#'fileencodings'">'fileencodings'</a>&nbsp;to check the first line of an XML file for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the encoding.&nbsp;&nbsp;&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&nbsp;&nbsp;Or &quot;charset=UTF-8&quot;?<br>
&nbsp;&nbsp;&nbsp;&nbsp;For HTML look for &quot;charset=utf-8&quot;.<br>
8&nbsp;&nbsp; The quickfix file is read without conversion, thus in&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>.&nbsp;&nbsp;Add an<br>
&nbsp;&nbsp;&nbsp;&nbsp;option to specify the encoding of the errorfile and convert it.&nbsp;&nbsp;Also for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:grep&quot; and &quot;:helpgrep&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;More generic solution: support a filter (e.g., by calling a function).<br>
8&nbsp;&nbsp; When a file was converted from&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;to&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>, a tag search<br>
&nbsp;&nbsp;&nbsp;&nbsp;should also do this on the search pattern. (Andrzej M. Ostruszka)<br>
8&nbsp;&nbsp; When filtering changes the encoding&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;may not work.&nbsp;&nbsp;E.g.,<br>
&nbsp;&nbsp;&nbsp;&nbsp;when using xxd and&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>&nbsp;is &quot;utf-16&quot;.&nbsp;&nbsp;Add an option to set a<br>
&nbsp;&nbsp;&nbsp;&nbsp;different fileencoding for filter output?<br>
7&nbsp;&nbsp; When converting a file fails, mention which byte could not be converted,<br>
&nbsp;&nbsp;&nbsp;&nbsp;so that the user can fix the problem.<br>
8&nbsp;&nbsp; Add configure option to be able to disable using the iconv library. (Udo<br>
&nbsp;&nbsp;&nbsp;&nbsp;Schweigert)<br>
9&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'aleph'">'aleph'</a>&nbsp;should be set to 1488 for Unicode. (Zvi Har'El)<br>
8&nbsp;&nbsp; Should add test for using various commands with multi-byte characters.<br>
8&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'infercase'">'infercase'</a>&nbsp;doesn't work with multi-byte characters.<br>
8&nbsp;&nbsp; toupper() function doesn't handle byte count changes.<br>
7&nbsp;&nbsp; Searching and composing characters:<br>
&nbsp;&nbsp;&nbsp;&nbsp;When searching, should order of composing characters be ignored?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add a special item to match with a composing character, so that composing<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters can be manipulated.<br>
8&nbsp;&nbsp; Should implement&nbsp;<a class="Type" href="options.html#'delcombine'">'delcombine'</a>&nbsp;for command line editing.<br>
8&nbsp;&nbsp; Detect overlong UTF-8 sequences and handle them like illegal bytes.<br>
8&nbsp;&nbsp; &quot;:s/x/\u\1/&quot; doesn't work, making uppercase isn't done for multi-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters.<br>
8&nbsp;&nbsp; UTF-8: &quot;r&quot; in Visual mode doesn't take composing characters.<br>
8&nbsp;&nbsp; UTF-8: When there is a precomposed character in the font, use it instead<br>
&nbsp;&nbsp;&nbsp;&nbsp;of a character and a composing character.&nbsp;&nbsp;See xterm for an example.<br>
7&nbsp;&nbsp; When a character can't be displayed, display its digraph instead.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'display'">'display'</a>&nbsp;option to specify this.<br>
7&nbsp;&nbsp; Use ideas for nl_langinfo() from Markus Kuhn in enc_default():<br>
&nbsp;&nbsp;&nbsp;&nbsp;(<span class="Constant">www.cl.cam.ac.uk/~mgk25/ucs/langinfo.c</span>)<br>
-&nbsp;&nbsp; GTK and Win32: Allow selecting fonts for&nbsp;<a class="Type" href="options.html#'guifontset'">'guifontset'</a>&nbsp;with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;fontselector somehow.<br>
-&nbsp;&nbsp; GTK and Win32: make it possible to set the font for the menu to make it<br>
&nbsp;&nbsp;&nbsp;&nbsp;possible to have&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;different from the current locale.<br>
-&nbsp;&nbsp; dbcs_class() only works for Japanese and Korean.&nbsp;&nbsp;Implement this for<br>
&nbsp;&nbsp;&nbsp;&nbsp;other encodings.&nbsp;&nbsp;The &quot;euc-jp&quot; and &quot;euc-kr&quot; choices might be wrong.<br>
-&nbsp;&nbsp; Find some way to automatically select the right GUI font or fontset,<br>
&nbsp;&nbsp;&nbsp;&nbsp;depending on the default value of&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Irrelevant in the GTK+ 2 GUI so long as UTF-8 is used.<br>
&nbsp;&nbsp;&nbsp;&nbsp;For Windows, the charset_pairs[] table could be used.&nbsp;&nbsp;But how do we know<br>
&nbsp;&nbsp;&nbsp;&nbsp;if a font exists?<br>
-&nbsp;&nbsp; Do keyboard conversion from&nbsp;<a class="Type" href="options.html#'termencoding'">'termencoding'</a>&nbsp;to&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>&nbsp;with<br>
&nbsp;&nbsp;&nbsp;&nbsp;convert_input() for Mac GUI.<br>
-&nbsp;&nbsp; Add mnemonics from RFC1345 longer than two characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Support&nbsp;<span class="Special">CTRL-K</span>&nbsp;_<span class="Special">{mnemonic}</span>_<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'breakat'">'breakat'</a>&nbsp;accept multi-byte characters.&nbsp;&nbsp;Problem: can't use a lookup<br>
&nbsp;&nbsp;&nbsp;&nbsp;table anymore (breakat_flags[]).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Simplistic solution: when&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>&nbsp;contains &quot;m&quot; also break a line<br>
&nbsp;&nbsp;&nbsp;&nbsp;at a multi-byte character &gt;= 0x100.<br>
-&nbsp;&nbsp; Add the possibility to enter mappings which are used whenever normal text<br>
&nbsp;&nbsp;&nbsp;&nbsp;could be entered.&nbsp;&nbsp;E.g., for &quot;f&quot; command.&nbsp;&nbsp;But not in Normal mode.&nbsp;&nbsp;Sort<br>
&nbsp;&nbsp;&nbsp;&nbsp;of opposite of&nbsp;<a class="Type" href="options.html#'langmap'">'langmap'</a>.&nbsp;&nbsp;Use &quot;:tmap&quot; command?<br>
-&nbsp;&nbsp; When breaking a line, take properties of multi-byte characters into<br>
&nbsp;&nbsp;&nbsp;&nbsp;account.&nbsp;&nbsp;The &quot;linebreak&quot; program from Bruno Haible can do it:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant">ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;But it's very complicated...<br>
<br>
<br>
Printing:<br>
7&nbsp;&nbsp; Implement &quot;undercurl&quot; for printing.<br>
-&nbsp;&nbsp; Add &quot;page width&quot; to wrap long lines.<br>
-&nbsp;&nbsp; Win32: use a font dialog for setting&nbsp;<a class="Type" href="options.html#'printfont'">'printfont'</a>.&nbsp;&nbsp;Can reuse the code for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>&nbsp;dialog, put the common code in a separate function.<br>
-&nbsp;&nbsp; Add the file timestamp to the page header (with an option). (George<br>
&nbsp;&nbsp;&nbsp;&nbsp;Reilly)<br>
-&nbsp;&nbsp; Win32: when&nbsp;<a class="Type" href="options.html#'printfont'">'printfont'</a>&nbsp;is empty use&nbsp;<a class="Type" href="options.html#'guifont'">'guifont'</a>.<br>
-&nbsp;&nbsp; Unix: Use some dialog box to do the obvious settings (paper size, printer<br>
&nbsp;&nbsp;&nbsp;&nbsp;name, portrait/landscape, etc).<br>
-&nbsp;&nbsp; PostScript: Only works for text that can be converted to an 8-bit<br>
&nbsp;&nbsp;&nbsp;&nbsp;character set.&nbsp;&nbsp;How to support Unicode fully?<br>
-&nbsp;&nbsp; Allow specifying the paper size, instead of using a standard size.&nbsp;&nbsp;Same<br>
&nbsp;&nbsp;&nbsp;&nbsp;units as for the margins.<br>
-&nbsp;&nbsp; Support right-to-left text?<br>
8&nbsp;&nbsp; Make the foreground color darkening function preserve the hue of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;color.<br>
<br>
<br>
Syntax highlighting:<br>
8&nbsp;&nbsp; Make &quot;:syn off&quot; use&nbsp;<a class="Type" href="options.html#'runtimepath'">'runtimepath'</a>&nbsp;instead of $VIMRUNTIME. (Gary Johnson)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Should do the same for &quot;:syn on&quot; and &quot;:syn manual&quot;.<br>
8&nbsp;&nbsp; Support &quot;containedin&quot; argument for &quot;:syn include&quot;, so that the defined<br>
&nbsp;&nbsp;&nbsp;&nbsp;cluster can be added to existing syntax items.<br>
8&nbsp;&nbsp; C syntax: Don't highlight {} as errors inside () when used like this:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;({ something })&quot;, often used in GCC code.<br>
7&nbsp;&nbsp; Add a &quot;startgroup&quot; to a region.&nbsp;&nbsp;Used like &quot;nextgroup&quot; inside the region,<br>
&nbsp;&nbsp;&nbsp;&nbsp;preferred item at the start of the region. (Charles Campbell)<br>
8&nbsp;&nbsp; When editing a new file without a name and giving it a name (by writing<br>
&nbsp;&nbsp;&nbsp;&nbsp;it) and&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>&nbsp;is not set, detect the filetype.&nbsp;&nbsp;Avoid doing it for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:wq file&quot;.<br>
7&nbsp;&nbsp; For &quot;nextgroup&quot; we have skipwhite, skipnl and skipempty.&nbsp;&nbsp;It would be<br>
&nbsp;&nbsp;&nbsp;&nbsp;really nice to be able to skip with a pattern.&nbsp;&nbsp;Or skip with a syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;group. (Nikolai Weibull, 2007 Feb 27)<br>
8&nbsp;&nbsp; Make conversion to HTML faster (Write it in C or pre-compile the script).<br>
9&nbsp;&nbsp; There is still a redraw bug somewhere.&nbsp;&nbsp;Probably because a cached state is<br>
&nbsp;&nbsp;&nbsp;&nbsp;used in a wrong way.&nbsp;&nbsp;I can't reproduce it...<br>
7&nbsp;&nbsp; Be able to change only the background highlighting.&nbsp;&nbsp;Useful for Diff* and<br>
&nbsp;&nbsp;&nbsp;&nbsp;Search highlighting.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;is set highlight the number of the current line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Must be enabled with an option, because it slows down display updating.<br>
8&nbsp;&nbsp; Allow the user to add items to the Syntax menu sorted, without having to<br>
&nbsp;&nbsp;&nbsp;&nbsp;change this for each release.<br>
8&nbsp;&nbsp; Add a &quot;matchcontains&quot; for regions: items contained in the start or end<br>
&nbsp;&nbsp;&nbsp;&nbsp;pattern, but not in the body.<br>
8&nbsp;&nbsp; Add a &quot;keepend-contained&quot; argument: Don't change the end of an item this<br>
&nbsp;&nbsp;&nbsp;&nbsp;one is contained in.&nbsp;&nbsp;Like &quot;keepend&quot; but specified on the contained item,<br>
&nbsp;&nbsp;&nbsp;&nbsp;instead of the containing item.<br>
8&nbsp;&nbsp; cpp.vim: In C++ it's allowed to use {} inside ().<br>
8&nbsp;&nbsp; Some syntax files set&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>, they should use &quot;syn iskeyword&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also need a separate&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;for the command line, e.g., in a help<br>
&nbsp;&nbsp;&nbsp;&nbsp;window &quot;:e /asdf/asdf/&quot;&nbsp;<span class="Special">CTRL-W</span>&nbsp;works different.<br>
8&nbsp;&nbsp; Add specific syntax item to match with parens/braces that don't have a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;%&quot; match.&nbsp;&nbsp;:syntax nomatch cMatchError (,{,[,),},]&nbsp;<span class="Special">[contained]</span><br>
8&nbsp;&nbsp; Highlight the text between two matching parens (e.g., with a grey<br>
&nbsp;&nbsp;&nbsp;&nbsp;background) when on one of the parens or in between them.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Option for the matchparen plugin?<br>
8&nbsp;&nbsp; When using a cterm, and no ctermfg or ctermbg are defined, use start/stop<br>
&nbsp;&nbsp;&nbsp;&nbsp;sequences.&nbsp;&nbsp;Add remark in docs that :if&nbsp;<a class="Type" href="options.html#'term'">'term'</a>&nbsp;== &quot;term-name&quot; should be<br>
&nbsp;&nbsp;&nbsp;&nbsp;used.<br>
8&nbsp;&nbsp; Add @spell cluster to String and Comment groups for many languages.&nbsp;&nbsp;Will<br>
&nbsp;&nbsp;&nbsp;&nbsp;allow spell checking. (Fleiner)<br>
8&nbsp;&nbsp; When listing syntax items, try to sort the keywords alphabetically.&nbsp;&nbsp;And<br>
&nbsp;&nbsp;&nbsp;&nbsp;re-insert the [] if possible.<br>
8&nbsp;&nbsp; Make it possible to use color of text for Visual highlight group (like for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the Cursor).<br>
8&nbsp;&nbsp; It would be useful to make the highlight group name an expression.&nbsp;&nbsp;Then<br>
&nbsp;&nbsp;&nbsp;&nbsp;when there is a match, the expression would be evaluated to find out what<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlight group to use.&nbsp;&nbsp;Could be used to check if the shell used in a<br>
&nbsp;&nbsp;&nbsp;&nbsp;password file appears in /etc/shells. (Nikolai Weibull)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;syn match =s:checkShell(v:match) contained&nbsp;<span class="MissingTag">'pattern'</span><br>
8&nbsp;&nbsp; Make it possible to only highlight a sub-expression of a match.&nbsp;&nbsp;Like<br>
&nbsp;&nbsp;&nbsp;&nbsp;using &quot;\1&quot; in a &quot;:s&quot; command.<br>
8&nbsp;&nbsp; Support for deleting syntax items:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:syn keyword cTodo remove this<br>
&nbsp;&nbsp;&nbsp;&nbsp;:syn match cTodo remove &quot;pattern&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;:syn region cString remove start=&quot;this&quot; end=&quot;that&quot;<br>
8&nbsp;&nbsp; Add possibility to sync on something else, when the syncing in one way<br>
&nbsp;&nbsp;&nbsp;&nbsp;doesn't find match.&nbsp;&nbsp;For HTML: When no&nbsp;<span class="Special">{script}</span>&nbsp;is found, try looking for<br>
&nbsp;&nbsp;&nbsp;&nbsp;a '&lt;'.&nbsp;&nbsp;(Fleiner)<br>
7&nbsp;&nbsp; Replace the synchronizing method with a state machine specification?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Should be able to start at any line in the file, search forwards or<br>
&nbsp;&nbsp;&nbsp;&nbsp;backwards, and use the result of matching a pattern.<br>
7&nbsp;&nbsp; Use parsing like awk, so that e.g., a ( without a matching ) can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;detected.<br>
8&nbsp;&nbsp; Make it possible to use &quot;inverted&quot; highlighting, invert the original<br>
&nbsp;&nbsp;&nbsp;&nbsp;character.&nbsp;&nbsp;For Visual mode.&nbsp;&nbsp;(xterm-selection already does this).<br>
8&nbsp;&nbsp; Highlight non-printable characters with &quot;SpecialChar&quot;, linked to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;Special&quot;.&nbsp;&nbsp;Display them with the digraph characters, if possible.<br>
8&nbsp;&nbsp; Highlight the clipboard-selection with a highlight group.<br>
8&nbsp;&nbsp; Be able to reset highlighting to its original (default) values.<br>
7&nbsp;&nbsp; Be able to write current highlighting to a file as commands, similar to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:mkvimrc&quot;.<br>
8&nbsp;&nbsp; Improve c.vim:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Add check for unterminated strings, with a variable to switch it on:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;c_strict_ansi&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Detect unbalanced &quot;#endif&quot;.&nbsp;&nbsp;Requires looking back a long way...<br>
8&nbsp;&nbsp; Add an option to restrict the updating of syntax highlighting to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current line while in Insert mode.<br>
8&nbsp;&nbsp; When guessing value of&nbsp;<a class="Type" href="options.html#'background'">'background'</a>, the syntax file has already been<br>
&nbsp;&nbsp;&nbsp;&nbsp;loaded (from the .gvimrc).&nbsp;&nbsp;After changing&nbsp;<a class="Type" href="options.html#'background'">'background'</a>, load it again?<br>
8&nbsp;&nbsp; Add &quot;:syn resync&quot; command, to re-parse the whole file until the current<br>
&nbsp;&nbsp;&nbsp;&nbsp;display position.<br>
8&nbsp;&nbsp; Should support &quot;me&quot; offset for a region start pattern.&nbsp;&nbsp;To be used to<br>
&nbsp;&nbsp;&nbsp;&nbsp;allow searching for the end pattern inside the match of the end pattern.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Example: syn region pikeXX start=&quot;([^{]&quot; end=&quot;)&quot; should work on &quot;()&quot;.<br>
8&nbsp;&nbsp; When using a regexp for &quot;contains=&quot;, should delay matching with it until<br>
&nbsp;&nbsp;&nbsp;&nbsp;redrawing happens.&nbsp;&nbsp;Set a flag when a group is added, check this flag when<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlighting starts.<br>
7&nbsp;&nbsp; It's possible for an item to be transparent, so that the colors of an item<br>
&nbsp;&nbsp;&nbsp;&nbsp;lower on the stack is used.&nbsp;&nbsp;Also do this with highlighting, so that the<br>
&nbsp;&nbsp;&nbsp;&nbsp;user can set transparent highlighting?&nbsp;&nbsp;E.g. a number in a C comment would<br>
&nbsp;&nbsp;&nbsp;&nbsp;get the color of a comment, a number in an assignment Normal. (Nikolai<br>
&nbsp;&nbsp;&nbsp;&nbsp;Weibull)<br>
7&nbsp;&nbsp; Add &quot;semitrans&quot;: Add highlighting.&nbsp;&nbsp;E.g., make the text bold, but keep the<br>
&nbsp;&nbsp;&nbsp;&nbsp;colors.&nbsp;&nbsp;And add colors, so that Green+Red becomes Yellow.<br>
&nbsp;&nbsp;&nbsp;&nbsp;E.g. for this html:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;B&gt;</span>&nbsp;bold text&nbsp;<span class="Special">&lt;I&gt;</span>&nbsp;italic+bold text &lt;/B&gt; italic text &lt;/I&gt;<br>
7&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-]</span>&nbsp;checks the highlight group for finding out what the tag is.<br>
7&nbsp;&nbsp; Add an explanation how a list of words can be used to highlight misspelled<br>
&nbsp;&nbsp;&nbsp;&nbsp;words.<br>
8&nbsp;&nbsp; Add more command line completion for :syntax.<br>
8&nbsp;&nbsp; Add more command line completion for :highlight.<br>
7&nbsp;&nbsp; Should find a better way to parse the :syntax and :highlight commands.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use tables or lists that can be shared by parsing for execution and<br>
&nbsp;&nbsp;&nbsp;&nbsp;completion?<br>
8&nbsp;&nbsp; Add ColorSchemePost autocommand event, so that scripts can set up their<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlighting. (Salman Halim)<br>
7&nbsp;&nbsp; Add a few sets of colors (e.g. Borland Turbo C one).&nbsp;&nbsp;With a menu to<br>
&nbsp;&nbsp;&nbsp;&nbsp;select one of the sets.<br>
8&nbsp;&nbsp; Add offsets to sub-matches: &quot;\(a*\) *&quot;he=e1-1<br>
&nbsp;&nbsp;&nbsp;&nbsp;'e' is end of match 'e1' is end of sub-match 1, 's2' is start of submatch<br>
&nbsp;&nbsp;&nbsp;&nbsp;2, etc.<br>
8&nbsp;&nbsp; In Insert mode, when there are typeahead characters, postpone the<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlighting (for &quot;.&quot; command).<br>
8&nbsp;&nbsp; Syncing on comments isn't 100% correct when / / lines mix with / * and * /.<br>
&nbsp;&nbsp;&nbsp;&nbsp;For example: What about a line that starts with / / and contains * /?<br>
8&nbsp;&nbsp; Ignore / * and&nbsp;&nbsp;* / inside strings, when syncing.<br>
7&nbsp;&nbsp; Build a few more syntax files from the file &quot;/usr/share/misc/vgrindefs&quot;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;ISP, LDL, Icon, ratfor.&nbsp;&nbsp;And check &quot;nedit/source/highlight.c&quot;.<br>
6&nbsp;&nbsp; Add possibility to have background color continue until the right edge of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the window.&nbsp;&nbsp;Useful for comment blocks and function headings. (Rogall)<br>
-&nbsp;&nbsp; Make it possible to add &quot;contains&quot; items for all items in a group.&nbsp;&nbsp;Useful<br>
&nbsp;&nbsp;&nbsp;&nbsp;when extending an already existing syntax file.<br>
-&nbsp;&nbsp; Add line-continuation pattern for non-syncing items too?<br>
-&nbsp;&nbsp; Add possibility to highlight the whole line, including the right margin<br>
&nbsp;&nbsp;&nbsp;&nbsp;(for comment blocks).<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'hlmatch'</span>&nbsp;option: List of flags:<br>
&nbsp;&nbsp;&nbsp;&nbsp;'c': highlight match for character under the cursor.<br>
&nbsp;&nbsp;&nbsp;&nbsp;'b': highlight the previous (, and its match.<br>
&nbsp;&nbsp;&nbsp;&nbsp;'a': highlight all text from the previous ( until its match.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Also for {}, &lt;&gt;, etc.?<br>
&nbsp;&nbsp;&nbsp;&nbsp;'e': highlight all braces without a match (slow?)<br>
&nbsp;&nbsp;&nbsp;&nbsp;OR: add an argument &quot;cursor&quot; to the syntax command, which means that the<br>
&nbsp;&nbsp;&nbsp;&nbsp;region/match/keyword is only highlighted when the cursor is on it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Campbell)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or do it like Elvis: define text objects and how to highlight them around<br>
&nbsp;&nbsp;&nbsp;&nbsp;the cursor. (Iain Truskett)<br>
7&nbsp;&nbsp; Make it possible to use all words in the tags files as Keyword.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can also be done with a script (but it's slow).<br>
7&nbsp;&nbsp; Make it possible to call a &quot;:&quot; command when a match is found.&nbsp;&nbsp;Should<br>
&nbsp;&nbsp;&nbsp;&nbsp;allow for adding keywords from the text (e.g. variables that are set).<br>
&nbsp;&nbsp;&nbsp;&nbsp;And allows for sections with different highlighting.<br>
7&nbsp;&nbsp; Add highlight group for commandline: &quot;Commandline&quot;.&nbsp;&nbsp;Make sure it<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlights the command line while typing a command, and any output from<br>
&nbsp;&nbsp;&nbsp;&nbsp;messages.&nbsp;&nbsp;And external commands?<br>
8&nbsp;&nbsp; Make a version that works like less, but with highlighting: read stdin for<br>
&nbsp;&nbsp;&nbsp;&nbsp;text, exit at end of file, don't allow editing, etc.&nbsp;&nbsp;moreim?&nbsp;&nbsp;lessim?<br>
7&nbsp;&nbsp; SpecialKey highlighting overrules syntax highlighting.&nbsp;&nbsp;Can't give an<br>
&nbsp;&nbsp;&nbsp;&nbsp;unprintable char another color.&nbsp;&nbsp;Would be useful for ^M at end of line.<br>
<br>
<br>
Vim script language:<br>
8&nbsp;&nbsp; Make the filename and line number available to script functions, so that<br>
&nbsp;&nbsp;&nbsp;&nbsp;they can give useful debugging info.&nbsp;&nbsp;The whole call stack would be ideal.<br>
&nbsp;&nbsp;&nbsp;&nbsp;At least use this for error messages.<br>
7&nbsp;&nbsp; Execute a function with standard option values.&nbsp;&nbsp;No need to save and<br>
&nbsp;&nbsp;&nbsp;&nbsp;restore option values.&nbsp;&nbsp;Especially useful for new options.&nbsp;&nbsp;Problem: how<br>
&nbsp;&nbsp;&nbsp;&nbsp;to avoid a performance penalty (esp. for string options)?<br>
8&nbsp;&nbsp; Add referring to key options with &quot;&amp;t_xx&quot;.&nbsp;&nbsp;Both for &quot;echo &amp;t_xx&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:let &amp;t_xx =&quot;.&nbsp;&nbsp;Useful for making portable mappings.<br>
-&nbsp;&nbsp; Add &quot;:let var ?= value&quot;, conditional assignment.&nbsp;&nbsp;Patch by Dave Eggum,<br>
&nbsp;&nbsp;&nbsp;&nbsp;2006 Dec 11.<br>
-&nbsp;&nbsp; range for &quot;:exec&quot;, pass it on to the executed command.&nbsp;&nbsp;(Webb)<br>
8&nbsp;&nbsp; &quot;:<span class="Special">{range}</span>source&quot;: source the lines from the current file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You can already yank lines and use :@&quot; to execute them.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Most of do_source() would not be used, need a new function.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It's easy when not doing breakpoints or profiling.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Requires copying the lines into a list and then creating a function to<br>
&nbsp;&nbsp;&nbsp;&nbsp;execute lines from the list.&nbsp;&nbsp;Similar to getnextac().<br>
7&nbsp;&nbsp; &quot;:include&quot; command: just like &quot;:source&quot; but doesn't start a new scriptID?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Will be tricky for the list of script names.<br>
8&nbsp;&nbsp; Have a look at VSEL.&nbsp;&nbsp;Would it be useful to include? (Bigham)<br>
8&nbsp;&nbsp; Have a prefix for a function to make it unique.&nbsp;&nbsp;When using packages it<br>
&nbsp;&nbsp;&nbsp;&nbsp;can be the plugin name.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps also have a way to remove everything that the package added?<br>
&nbsp;&nbsp;&nbsp;&nbsp;including autocommands.<br>
7&nbsp;&nbsp; Pre-parse or compile Vim scripts into a bytecode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;1. Put the bytecode with the original script, with an &quot;:if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; has(<span class="MissingTag">'bytecode'</span>)&quot; around it, so that it's only used with a Vim that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; supports it.&nbsp;&nbsp;Update the code with a command, can be used in an<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autocommand.<br>
&nbsp;&nbsp;&nbsp;&nbsp;2. Use a &quot;.vic&quot; file (like Python use .pyc).&nbsp;&nbsp;Create it when writing a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .vim file.&nbsp;&nbsp;Problem: distribution.<br>
&nbsp;&nbsp;&nbsp;&nbsp;3. Use a cache directory for each user.&nbsp;&nbsp;How to recognize which cached<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; file belongs to a sourced script?<br>
7&nbsp;&nbsp; Add argument to winwidth() to subtract the space taken by&nbsp;<a class="Type" href="options.html#'foldcolumn'">'foldcolumn'</a>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;signs and/or&nbsp;<a class="Type" href="options.html#'number'">'number'</a>.<br>
6&nbsp;&nbsp; Add ++ and -- operators?&nbsp;&nbsp;They only work on variables (lvals), how to<br>
&nbsp;&nbsp;&nbsp;&nbsp;implement this?<br>
8&nbsp;&nbsp; Add functions:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;has(&quot;:command&quot;)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Check if &quot;:command&quot; works.&nbsp;&nbsp;compare function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with &quot;ex_ni&quot;.&nbsp;&nbsp;E.g. for &quot;:simalt&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;escape()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add argument to specify what to escape with.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;modestack()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Instead of just the current mode return the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stack of Insert /&nbsp;<span class="Special">CTRL-O</span>&nbsp;/ :normal things.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;realname()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get user name (first, last, full)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;user_fullname() patch by Nikolai Weibull, Nov<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3 2002<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Only add this when also implemented for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;non-Unix systems, otherwise a shell cmd could<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be used.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;get_user_name() gets login name.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuprop(<span class="Special">{name}</span>,&nbsp;<span class="Special">{idx}</span>,&nbsp;<span class="Special">{what}</span>)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get menu property of menu&nbsp;<span class="Special">{name}</span>&nbsp;item&nbsp;<span class="Special">{idx}</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuprop(&quot;&quot;, 1, &quot;name&quot;) returns &quot;File&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;menuprop(&quot;File&quot;, 1, &quot;n&quot;) returns &quot;nmenu<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File.Open...&quot; argument.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Patch by Ilya Sher, 2004 Apr 22<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a list of menus and/or a dictionary<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with properties instead.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mapname(<span class="Special">{idx}</span>, mode)&nbsp;&nbsp;&nbsp;&nbsp;return the name of the idx'th mapping.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Patch by Ilya Sher, 2004 Mar 4.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return a list instead.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char2hex()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;convert char string to hex string.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;crypt()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; encrypt string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;decrypt()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; decrypt string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base64enc()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base 64 encoding<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;base64dec()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; base 64 decoding<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attributes()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return file protection flags &quot;drwxrwxrwx&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filecopy(from, to)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy a file<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shorten(fname)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shorten a file name, like home_replace()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perl(cmd)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; call Perl and return string<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inputrl()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; like input() but right-to-left<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;typed()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return the characters typed and consumed (to<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;find out what happened)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;virtualmode()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; add argument to obtain whether &quot;$&quot; was used in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Visual block mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getacp()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Win32: get codepage (Glenn Maynard)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deletebufline()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delete line in any buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;appendbufline()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; append line in any buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libcall()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Allow more than one argument.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libcallext()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Like libcall(), but using a callback function<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to allow the library to execute a command or<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;evaluate an expression.<br>
7&nbsp;&nbsp; Make bufname(&quot;'0&quot;) return the buffer name from mark '0.&nbsp;&nbsp;How to get the<br>
&nbsp;&nbsp;&nbsp;&nbsp;column and line number?&nbsp;&nbsp;col(&quot;'0&quot;) currently returns zero.<br>
8&nbsp;&nbsp; argc() returns 0 when using &quot;vim -t tag&quot;.&nbsp;&nbsp;How to detect that no file was<br>
&nbsp;&nbsp;&nbsp;&nbsp;specified in any way?&nbsp;&nbsp;To be able to jump to the last edited file.<br>
8&nbsp;&nbsp; Pass the command line arguments to Vim scripts in some way.&nbsp;&nbsp;As v:args<br>
&nbsp;&nbsp;&nbsp;&nbsp;List?&nbsp;&nbsp;Or extra parameter to argv()?<br>
8&nbsp;&nbsp; Add command arguments with three dashes, passed on to Vim scripts.<br>
9&nbsp;&nbsp; Add optional arguments to user functions:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:func myFunc(arg1, arg2, arg3 = &quot;blah&quot;, arg4 = 17)<br>
6&nbsp;&nbsp; User functions: Functions local to buffer &quot;b:func()&quot;?<br>
8&nbsp;&nbsp; For Strings add &quot;:let var[<span class="Special">{expr}</span>] =&nbsp;<span class="Special">{expr}</span>&quot;.&nbsp;&nbsp;When past the end of &quot;var&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;just ignore.<br>
8&nbsp;&nbsp; The &quot;= register should be writable, if followed by the name of a variable,<br>
&nbsp;&nbsp;&nbsp;&nbsp;option or environment variable.<br>
8&nbsp;&nbsp; &quot;:let &amp;option&quot; should list the value of the option.<br>
8&nbsp;&nbsp; &quot;:let Func().foo = value&quot; should work, also when &quot;foo&quot; doesn't exist.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: &quot;:let Func()[foo] = value&quot; should work.&nbsp;&nbsp;Same for a List.<br>
7&nbsp;&nbsp; Add synIDlist(), making the whole list of syntax items on the syntax stack<br>
&nbsp;&nbsp;&nbsp;&nbsp;available as a List.<br>
8&nbsp;&nbsp; Add autocommand-event for when a variable is changed:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:au VarChanged&nbsp;<span class="Special">{varname}</span>&nbsp;<span class="Special">{commands}</span><br>
8&nbsp;&nbsp; Add &quot;has(&quot;gui_capable&quot;)&quot;, to check if the GUI can be started.<br>
8&nbsp;&nbsp; Add possibility to use variables like registers: characterwise (default),<br>
&nbsp;&nbsp;&nbsp;&nbsp;linewise (when ending in '\n'), blockwise (when ending in '\001').&nbsp;&nbsp;reg0,<br>
&nbsp;&nbsp;&nbsp;&nbsp;rega, reg%, etc.&nbsp;&nbsp;Add functions linewise(<span class="Special">{expr}</span>), blockwise(<span class="Special">{expr}</span>) and<br>
&nbsp;&nbsp;&nbsp;&nbsp;charwise(<span class="Special">{expr}</span>).<br>
7&nbsp;&nbsp; Make it possible to do any command on a string variable (make a buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;with one line, containing the string).&nbsp;&nbsp;Maybe add an (invisible) scratch<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer for this?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = scratch(string, command)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = apply(string, command)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result = execute(string, command)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;command&quot; would use &lt;&gt; notation.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Does scratch buffer have a number?&nbsp;&nbsp;Or re-use same number?<br>
7&nbsp;&nbsp; Add function to generate unique number (date in milliseconds).<br>
<br>
<br>
Robustness:<br>
6&nbsp;&nbsp; Add file locking.&nbsp;&nbsp;Lock a file when starting to edit it with flock() or<br>
&nbsp;&nbsp;&nbsp;&nbsp;fcntl().&nbsp;&nbsp;This patch has advisory file locking while reading/writing<br>
&nbsp;&nbsp;&nbsp;&nbsp;the file for Vim 5.4: ~/vim/patches/kahn_file_locking .<br>
&nbsp;&nbsp;&nbsp;&nbsp;The patch is incomplete (needs support for more systems, autoconf).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Andy doesn't have time to work on it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Disadvantage: Need to find ways to gracefully handle failure to obtain a<br>
&nbsp;&nbsp;&nbsp;&nbsp;lock.&nbsp;&nbsp;When to release a lock: When buffer is unloaded?<br>
<br>
<br>
Performance:<br>
7&nbsp;&nbsp; For string variables up to 3 bytes don't allocate memory, use v_list<br>
&nbsp;&nbsp;&nbsp;&nbsp;itself as a character array.&nbsp;&nbsp;Use VAR_SSTRING (short string).<br>
7&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'lazysize'</span>&nbsp;option: Above this size Vim doesn't load everything before<br>
&nbsp;&nbsp;&nbsp;&nbsp;starting to edit a file.&nbsp;&nbsp;Things like&nbsp;<a class="Type" href="options.html#'fileencodings'">'fileencodings'</a>&nbsp;only work up to this<br>
&nbsp;&nbsp;&nbsp;&nbsp;size, modelines only work at the top.&nbsp;&nbsp;Useful for large log files where<br>
&nbsp;&nbsp;&nbsp;&nbsp;you only want to look at the first few pages.&nbsp;&nbsp;Use zero to disable it.<br>
8&nbsp;&nbsp; move_lines() copies every line into allocated memory, making reloading a<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer a lot slower than re-editing the file.&nbsp;&nbsp;Can the memline be locked<br>
&nbsp;&nbsp;&nbsp;&nbsp;so that we don't need to make a copy?&nbsp;&nbsp;Or avoid invoking ml_updatechunk(),<br>
&nbsp;&nbsp;&nbsp;&nbsp;that is taking a lot of time.&nbsp;&nbsp;(Ralf Wildenhues, 2008 Jul 7)<br>
&nbsp;&nbsp;&nbsp;&nbsp;With a patch, but does it work?<br>
8&nbsp;&nbsp; Turn b_syn_ic and b_syn_containedin into b_syn_flags.<br>
9&nbsp;&nbsp; Loading menu.vim still takes quite a bit of time.&nbsp;&nbsp;How to make it faster?<br>
8&nbsp;&nbsp; in_id_list() takes much time for syntax highlighting.&nbsp;&nbsp;Cache the result?<br>
7&nbsp;&nbsp; setpcmark() shifts the jumplist, this takes quite a bit of time when<br>
&nbsp;&nbsp;&nbsp;&nbsp;jumping around.&nbsp;&nbsp;Instead use an index for the start?<br>
8&nbsp;&nbsp; When displaying a space with only foreground highlighting, it's the same<br>
&nbsp;&nbsp;&nbsp;&nbsp;as a space without attributes.&nbsp;&nbsp;Avoid displaying spaces for the &quot;~&quot; lines<br>
&nbsp;&nbsp;&nbsp;&nbsp;when starting up in a color terminal.<br>
8&nbsp;&nbsp; Avoid alloc() for scratch buffer use, esp. in syntax.c.&nbsp;&nbsp;It's very slow on<br>
&nbsp;&nbsp;&nbsp;&nbsp;Win16.<br>
8&nbsp;&nbsp; Profiling shows that in_id_list() is used very often for C code.&nbsp;&nbsp;Can this<br>
&nbsp;&nbsp;&nbsp;&nbsp;function be improved?<br>
8&nbsp;&nbsp; For an existing file, the page size of the swap file is always the<br>
&nbsp;&nbsp;&nbsp;&nbsp;default, instead of using the block size of the device, because the swap<br>
&nbsp;&nbsp;&nbsp;&nbsp;file is created only after setting the block size in mf_open().&nbsp;&nbsp;How can<br>
&nbsp;&nbsp;&nbsp;&nbsp;this be improved?<br>
8&nbsp;&nbsp; Set default for&nbsp;<a class="Type" href="options.html#'ttyscroll'">'ttyscroll'</a>&nbsp;to half a screen height?&nbsp;&nbsp;Should speed up<br>
&nbsp;&nbsp;&nbsp;&nbsp;MS-DOS version. (Negri)<br>
7&nbsp;&nbsp; C syntax highlighting gets a lot slower after &quot;:set foldmethod=syntax&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Charles Campbell)&nbsp;&nbsp;Inserting a &quot;{&quot; is very slow. (dman)<br>
7&nbsp;&nbsp; HTML syntax highlighting is slow for long lines.&nbsp;&nbsp;Try displaying<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.theregister.co.uk/content/4/22908.html">http://www.theregister.co.uk/content/4/22908.html</a></span>. (Andre Pang)<br>
7&nbsp;&nbsp; Check how performance of loading the wordlist can be improved (adding a<br>
&nbsp;&nbsp;&nbsp;&nbsp;lot of abbreviations).<br>
7&nbsp;&nbsp; Compile Ex commands to byte codes.&nbsp;&nbsp;Store byte codes in a vim script file<br>
&nbsp;&nbsp;&nbsp;&nbsp;at the end, after &quot;compiled:.&nbsp;&nbsp;Make it look like a single comment line<br>
&nbsp;&nbsp;&nbsp;&nbsp;for old Vim versions.&nbsp;&nbsp;Insert first line &quot;Vim script compiled&nbsp;<span class="Special">&lt;timestamp&gt;</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Only used compiled code when timestamp matches the file stat.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add command to compile a vim script and add it to the file in-place.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Split Ex command executing into a parsing and executing phase.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use compiled code for functions, while loops, etc.<br>
8&nbsp;&nbsp; When defining autocommands (e.g., from $VIMRUNTIME/filetype.vim), need to<br>
&nbsp;&nbsp;&nbsp;&nbsp;compare each pattern with all existing patterns.&nbsp;&nbsp;Use a hash code to avoid<br>
&nbsp;&nbsp;&nbsp;&nbsp;using strcmp() too often?<br>
7&nbsp;&nbsp; Include turbo_loader patches, speeding up reading a file?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Speed up reading a file by reading it into a fixed-size buffer, creating<br>
&nbsp;&nbsp;&nbsp;&nbsp;the list of indexes in another buffer, and then copying the result into a<br>
&nbsp;&nbsp;&nbsp;&nbsp;memfile block with two copies.&nbsp;&nbsp;Then read the next block into another<br>
&nbsp;&nbsp;&nbsp;&nbsp;fixed-size buffer, create the second list of indexes and copy text from<br>
&nbsp;&nbsp;&nbsp;&nbsp;the two blocks to the memfile block.<br>
7&nbsp;&nbsp; do_cmdline(): Avoid that the command line is copied to allocated memory<br>
&nbsp;&nbsp;&nbsp;&nbsp;and freed again later all the time.&nbsp;&nbsp;For while loops, and for when called<br>
&nbsp;&nbsp;&nbsp;&nbsp;with an argument that can be messed with.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Generic solution: Make a struct that contains a pointer and a flag that<br>
&nbsp;&nbsp;&nbsp;&nbsp;indicates if the pointer should be freed when replaced.<br>
7&nbsp;&nbsp; Check that the file size is not more than &quot;sizeof(long)&quot;.<br>
-&nbsp;&nbsp; Further improve finding mappings in maphash[] in vgetorpeek()<br>
8&nbsp;&nbsp; Syntax highlighting is slow when deleting lines.&nbsp;&nbsp;Try in<br>
&nbsp;&nbsp;&nbsp;&nbsp;$VIMRUNTIME/filetype.vim.<br>
-&nbsp;&nbsp; &quot;out of memory&quot; after deleting (1,$d) and changing (:%s/^/&gt; /) a lot of<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines (27000) a few times.&nbsp;&nbsp;Memory fragmentation?<br>
-&nbsp;&nbsp; Have a look at how pdksh does memory allocation (alloc.c). (Dalecki)<br>
-&nbsp;&nbsp; Do profiling on:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- :g/pat/normal cmd<br>
&nbsp;&nbsp;&nbsp;&nbsp;- 1000ii<span class="Special">&lt;Esc&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;- deleting 10Mbyte worth of lines (netscape binary)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- &quot;[i&quot; and &quot;[d&quot; (Yegappan Lakshmanan)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- &quot;:g/^/m0&quot; on a 450Kbyte file.&nbsp;&nbsp;And the &quot;u&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- highlighting &quot;~/vim/test/longline.tex&quot;, &quot;~/vim/test/scwoop.tcl&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;~/vim/test/lockup.pl&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- loading a syntax file to highlight all words not from a dictionary.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- editing a Vim script with syntax highlighting on (loading vim.vim).<br>
7&nbsp;&nbsp; Screen updating can be further improved by only redrawing lines that were<br>
&nbsp;&nbsp;&nbsp;&nbsp;changed (and lines after them, when syntax highlighting was used, and it<br>
&nbsp;&nbsp;&nbsp;&nbsp;changed).<br>
&nbsp;&nbsp;&nbsp;&nbsp;- On each change, remember start and end of the change.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- When inserting/deleting lines, remember begin, end, and line count.<br>
-&nbsp;&nbsp; Use macros/duarte/capicua for profiling.&nbsp;&nbsp;Nvi 1.71 is the fastest!<br>
-&nbsp;&nbsp; When using a file with one long line (1Mbyte), then do &quot;$hhhh&quot;, is still<br>
&nbsp;&nbsp;&nbsp;&nbsp;very slow.&nbsp;&nbsp;Avoid calling getvcol() for each &quot;h&quot;?<br>
-&nbsp;&nbsp; Executing a register, e.g. &quot;10000@@&quot; is slow, because ins_typebuf has to<br>
&nbsp;&nbsp;&nbsp;&nbsp;move the previous commands forward each time.&nbsp;&nbsp;Pass count from<br>
&nbsp;&nbsp;&nbsp;&nbsp;normal_cmd() down to do_execreg().<br>
-&nbsp;&nbsp; Repeating insert &quot;1000i-<span class="Special">&lt;Esc&gt;</span>&quot; displays --INSERT-- all the time, because of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;at the end.&nbsp;&nbsp;Make this work faster (disable redrawing).<br>
-&nbsp;&nbsp; Avoid calls to plines() for cursor line, use w_cline_height.<br>
-&nbsp;&nbsp; After &quot;:set nowrap&quot; remove superfluous redraw with wrong hor. offset if<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor is right of the screen.<br>
8&nbsp;&nbsp; Make&nbsp;<span class="Special">CTRL-C</span>&nbsp;on Unix generate a signal, avoid using select() to check for a<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-C</span>&nbsp;(it's slow).<br>
<br>
<br>
Code size:<br>
8&nbsp;&nbsp; GUI: When NO_CONSOLE is defined, more code can be excluded.<br>
-&nbsp;&nbsp; Put getline() and cookie in a struct, so only one argument has to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;passed to do_cmdline() and other functions.<br>
8&nbsp;&nbsp; Make a GUI-only version for Unix?<br>
8&nbsp;&nbsp; In buf_write _() isn't needed when setting errmsg, do it once when using<br>
&nbsp;&nbsp;&nbsp;&nbsp;it.<br>
7&nbsp;&nbsp; When compiling with a GUI-only version, the code for cterm colors can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;left out.<br>
8&nbsp;&nbsp; When compiled with a GUI-only version, the termcap entries for terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;can be removed.<br>
8&nbsp;&nbsp; Can the check for libelf in configure.ac be removed?<br>
<br>
<br>
Messages:<br>
8&nbsp;&nbsp; When using &quot;:q&quot; in a changed file, the error says to &quot;add !&quot;.&nbsp;&nbsp;Add the<br>
&nbsp;&nbsp;&nbsp;&nbsp;command so that beginners understand it: &quot;use :q!&quot;.<br>
8&nbsp;&nbsp; For&nbsp;<a class="Type" href="options.html#'verbose'">'verbose'</a>&nbsp;level 12 prints commands from source'ed files.&nbsp;&nbsp;How to skip<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines that aren't executed?&nbsp;&nbsp;Perhaps move the echoing to do_cmdline()?<br>
8&nbsp;&nbsp; Use&nbsp;<a class="Type" href="options.html#'report'">'report'</a>&nbsp;for &quot;:bdel&quot;?&nbsp;&nbsp;(Krishna)&nbsp;&nbsp;To avoid these messages when using a<br>
&nbsp;&nbsp;&nbsp;&nbsp;script.<br>
-&nbsp;&nbsp; Delete message after new command has been entered and have waited for key.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps after ten seconds?<br>
-&nbsp;&nbsp; Make message history available in &quot;msg&quot; variables: msg1, msg2, .. msg9.<br>
8&nbsp;&nbsp; When reading from stdin allow suppressing the &quot;reading from stdin&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;message.<br>
9&nbsp;&nbsp; Check handling of overwriting of messages and delays:<br>
&nbsp;&nbsp;&nbsp;&nbsp;Very wrong: errors while redrawing cause endless loop.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When switching to another file and screen scrolls because of the long<br>
&nbsp;&nbsp;&nbsp;&nbsp;message and return must be typed, don't scroll the screen back before<br>
&nbsp;&nbsp;&nbsp;&nbsp;redrawing.<br>
8&nbsp;&nbsp; When address range is wrong you only get &quot;Invalid range&quot;.&nbsp;&nbsp;Be a bit more<br>
&nbsp;&nbsp;&nbsp;&nbsp;specific: Negative, beyond last line, reverse range?&nbsp;&nbsp;Include the text.<br>
8&nbsp;&nbsp; Make it possible to ignore errors for a moment (<span class="MissingTag">'errorignore'</span>?).&nbsp;&nbsp;Another<br>
&nbsp;&nbsp;&nbsp;&nbsp;option to switch off giving error messages (<span class="MissingTag">'errorquiet'</span>?).&nbsp;&nbsp;Also an option<br>
&nbsp;&nbsp;&nbsp;&nbsp;not to give any messages (<span class="MissingTag">'quiet'</span>)?&nbsp;&nbsp;Or &quot;:quiet on&quot;, &quot;:quiet off&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Careful: For a severe error (out of memory), and when the user starts<br>
&nbsp;&nbsp;&nbsp;&nbsp;typing, error messages must be switched back on.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also a flag to ignore error messages for shell commands (for mappings).<br>
-&nbsp;&nbsp; Option to set time for emsg() sleep.&nbsp;&nbsp;Interrupt sleep when key is typed?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Sleep before second message?<br>
8&nbsp;&nbsp; In Ex silent mode or when reading commands from a file, what exactly is<br>
&nbsp;&nbsp;&nbsp;&nbsp;not printed and what is?&nbsp;&nbsp;Check &quot;:print&quot;, &quot;:set all&quot;, &quot;:args&quot;, &quot;:vers&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;etc.&nbsp;&nbsp;At least there should be no prompt. (Smulders)&nbsp;&nbsp;And don't clear the<br>
&nbsp;&nbsp;&nbsp;&nbsp;screen when reading commands from stdin. (Kendall)<br>
&nbsp;&nbsp;&nbsp;&nbsp;--&gt; Make a difference between informative messages, prompts, etc. and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error messages, printing text, etc.<br>
8&nbsp;&nbsp; Window should be redrawn when resizing at the hit-enter prompt.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also at the &quot;:tselect&quot; prompt.&nbsp;&nbsp;Find a generic solution for redrawing when<br>
&nbsp;&nbsp;&nbsp;&nbsp;a prompt is present (with a callback function?).<br>
<br>
<br>
Screen updating:<br>
7&nbsp;&nbsp; Add a string to the&nbsp;<a class="Type" href="options.html#'display'">'display'</a>&nbsp;option to make&nbsp;<span class="Special">CTRL-E</span>&nbsp;and&nbsp;<span class="Special">CTRL-Y</span>&nbsp;scroll one<br>
&nbsp;&nbsp;&nbsp;&nbsp;screen line, also if this means the first line doesn't start with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;first character (like what happens with a single line that doesn't fit).<br>
-&nbsp;&nbsp; screen_line():<br>
&nbsp;&nbsp;&nbsp;&nbsp;- insert/delete character stuff.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- improve delete rest of line (spaces at end of line).<br>
-&nbsp;&nbsp; When moving or resizing window, try to avoid a complete redraw (esp. when<br>
&nbsp;&nbsp;&nbsp;&nbsp;dragging the status line with the mouse).<br>
-&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'lazyredraw'">'lazyredraw'</a>&nbsp;set, don't echo :ex commands?&nbsp;&nbsp;Need a flag to redraw when<br>
&nbsp;&nbsp;&nbsp;&nbsp;waiting for a character.<br>
8&nbsp;&nbsp; Add a &quot;:refresh&nbsp;<span class="Special">[winnr]</span>&quot; command, to force updating a window.&nbsp;&nbsp;Useful from<br>
&nbsp;&nbsp;&nbsp;&nbsp;an event handler where &quot;:normal&quot; can't be used.&nbsp;&nbsp;Also useful when<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'lazyredraw'">'lazyredraw'</a>&nbsp;is set in a mapping.<br>
<br>
Scrolling:<br>
8&nbsp;&nbsp; Add &quot;zy&quot; command: scroll horizontally to put the cursor in the middle.<br>
6&nbsp;&nbsp; Add option to set the overlap for&nbsp;<span class="Special">CTRL-F</span>&nbsp;and&nbsp;<span class="Special">CTRL-B</span>. (Garhi)<br>
-&nbsp;&nbsp; extend&nbsp;<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;option:&nbsp;<a class="Type" href="options.html#'scrollopt'">'scrollopt'</a>&nbsp;words &quot;search&quot;, &quot;relative&quot;, etc..<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also 'e'xecute some commands (search, vertical movements) in all bound<br>
&nbsp;&nbsp;&nbsp;&nbsp;windows.<br>
7&nbsp;&nbsp; Add&nbsp;<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;feature to make the offset of one window with the next<br>
&nbsp;&nbsp;&nbsp;&nbsp;one equal to the window height.&nbsp;&nbsp;When editing one file in both windows it<br>
&nbsp;&nbsp;&nbsp;&nbsp;looks like each window displays a page of the buffer.<br>
-&nbsp;&nbsp; Allow scrolling by dragging with the mouse (grab a character and move it<br>
&nbsp;&nbsp;&nbsp;&nbsp;up/down).&nbsp;&nbsp;Like the &quot;hand&quot; in Acrobat reader.&nbsp;&nbsp;Use Alt-LeftMouse for this?<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Goldfarb)<br>
-&nbsp;&nbsp; Add command to execute some commands (search, vertical movements) in all<br>
&nbsp;&nbsp;&nbsp;&nbsp;bound windows.<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'search'</span>&nbsp;option to&nbsp;<a class="Type" href="options.html#'scrollopt'">'scrollopt'</a>&nbsp;to allow&nbsp;<a class="Type" href="options.html#'scrollbind'">'scrollbind'</a>&nbsp;windows to<br>
&nbsp;&nbsp;&nbsp;&nbsp;be bound by regexp searches<br>
-&nbsp;&nbsp; Add &quot;z&gt;&quot; and &quot;z&lt;&quot;: scroll sideways one screenful. (Campbell)<br>
-&nbsp;&nbsp; Add option to set the number of lines when not to scroll, instead of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;fixed number used now (for terminals that scroll slow with a large number<br>
&nbsp;&nbsp;&nbsp;&nbsp;of lines but not with a single line).<br>
<br>
<br>
Autoconf:<br>
8&nbsp;&nbsp; Should use acconfig.h to define prototypes that are used by autoheader.<br>
8&nbsp;&nbsp; Some compilers don't give an error for &quot;-OPT:Olimit&quot; but a warning. (Webb)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add a check for the warning, so that &quot;Olimit&quot; can be added automatically?<br>
-&nbsp;&nbsp; Autoconf: Use @datadir@ for the system independent files.&nbsp;&nbsp;Make sure the<br>
&nbsp;&nbsp;&nbsp;&nbsp;system dependent and system independent files are separated. (Leitner).<br>
-&nbsp;&nbsp; Add autoconf check for waitpid()/wait4().<br>
-&nbsp;&nbsp; Remove fcntl() from autoconf, all systems have it?<br>
-&nbsp;&nbsp; Set default for&nbsp;<a class="Type" href="options.html#'dictionary'">'dictionary'</a>, add search for dictionary to autoconf.<br>
<br>
<br>
Perl interface:<br>
8&nbsp;&nbsp; Rename typemap file to something else?<br>
7&nbsp;&nbsp; Make buffers accessed as Perl arrays. (Clark)<br>
7&nbsp;&nbsp; Make it possible to compile with non-ANSI C?<br>
6&nbsp;&nbsp; Tcl/Tk has the &quot;load&quot; command: load a shared library (.so or .dll).<br>
<br>
<br>
Shared libraries:<br>
6&nbsp;&nbsp; Add support for loading shared libraries, and calling functions in it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:libload internal-name libname<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:libunload internal-name<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:liblist<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:libcall internal-name function(arg1, arg2, ...)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:libcall function(arg1, arg2, ...)<br>
&nbsp;&nbsp;&nbsp;&nbsp;libcall() can have only one integer or String argument at the moment.<br>
6&nbsp;&nbsp; Have a look on how Perl handles loading dynamic libraries.<br>
<br>
<br>
Tags:<br>
9&nbsp;&nbsp; With &quot;:set tags=./tags,../tags&quot; and a tag appears in both tags files it is<br>
&nbsp;&nbsp;&nbsp;&nbsp;added twice.&nbsp;&nbsp;Requires figuring out the actual file name for each found<br>
&nbsp;&nbsp;&nbsp;&nbsp;match.&nbsp;&nbsp;Remove tag_fname from the match and combine it with the fname in<br>
&nbsp;&nbsp;&nbsp;&nbsp;the match (without expanding or other things that take time).&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'tagrelative'">'tagrelative'</a>&nbsp;is off tag_fname isn't needed at all.<br>
8&nbsp;&nbsp; For&nbsp;<a class="Type" href="options.html#'tags'">'tags'</a>&nbsp;wildcard in the file name is not supported, only in the path.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is due to it using&nbsp;<a class="Identifier" href="editing.html#file-searching">file-searching</a>. Suboptimal solution would be to<br>
&nbsp;&nbsp;&nbsp;&nbsp;make the filename or the whole option use&nbsp;<a class="Identifier" href="editing.html#wildcards">wildcards</a>&nbsp;globing, better<br>
&nbsp;&nbsp;&nbsp;&nbsp;would be to merge the 2 kinds of globing. originally (Erik Falor, 2008<br>
&nbsp;&nbsp;&nbsp;&nbsp;April 18), updated (Ian Kelling, 2008 July 4)<br>
7&nbsp;&nbsp; Can&nbsp;<span class="Special">CTRL-]</span>&nbsp;(jump to tag) include a following &quot;.&quot; and &quot;-&gt;&quot; to restrict the<br>
&nbsp;&nbsp;&nbsp;&nbsp;number of possible matches? Check tags file for an item that has members.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Flemming Madsen)<br>
8&nbsp;&nbsp; Scope arguments for &quot;:tag&quot;, e.g.: &quot;:tag class:cPage open&quot;, like Elvis.<br>
8&nbsp;&nbsp; When output of &quot;:tselect&quot; is long, getting the more-prompt, should be able<br>
&nbsp;&nbsp;&nbsp;&nbsp;to type the tag number directly.<br>
7&nbsp;&nbsp; Add the possibility to use the &quot;-t&nbsp;<span class="Special">{tag}</span>&quot; argument multiple times.&nbsp;&nbsp;Open a<br>
&nbsp;&nbsp;&nbsp;&nbsp;window for each tag.<br>
7&nbsp;&nbsp; Make output of &quot;:tselect&quot; a bit nicer.&nbsp;&nbsp;Use highlighting?<br>
7&nbsp;&nbsp; Highlight the &quot;tag 1 of &gt;2&quot; message.&nbsp;&nbsp;New highlight group, or same as &quot;hit<br>
&nbsp;&nbsp;&nbsp;&nbsp;bottom&quot; search message.<br>
7&nbsp;&nbsp; When using &quot;:tag&quot; at the top of the tag stack, should add another entry,<br>
&nbsp;&nbsp;&nbsp;&nbsp;so&nbsp;<span class="Special">CTRL-T</span>&nbsp;can bring you back to where you are now AND to where you were<br>
&nbsp;&nbsp;&nbsp;&nbsp;before the previous &quot;:tag&quot; command. (Webb)<br>
-&nbsp;&nbsp; When doing &quot;[^I&quot; or &quot;[^D&quot; add position to tag stack.<br>
-&nbsp;&nbsp; Add command to put current position to tag stack: &quot;:tpush&quot;.<br>
-&nbsp;&nbsp; Add functions to save and restore the tag stack?&nbsp;&nbsp;Or a command to switch<br>
&nbsp;&nbsp;&nbsp;&nbsp;to another tag stack?&nbsp;&nbsp;So that you can do something else and come back to<br>
&nbsp;&nbsp;&nbsp;&nbsp;what you were working on.<br>
7&nbsp;&nbsp; When using&nbsp;<span class="Special">CTRL-]</span>&nbsp;on someClass::someMethod, separate class from method and<br>
&nbsp;&nbsp;&nbsp;&nbsp;use &quot;:ta class:someClass someMethod&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Include C++ tags changes (Bertin).&nbsp;&nbsp;Change &quot;class::func&quot; tag into &quot;func&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;with &quot;class=class&quot;?&nbsp;&nbsp;Docs in oldmail/bertin/in.xxx.<br>
7&nbsp;&nbsp; Add &quot;:tagargs&quot;, to set values for fields:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:tagargs class:someclass&nbsp;<span class="Constant">file:version.c</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:tagargs clear<br>
&nbsp;&nbsp;&nbsp;&nbsp;These are then the default values (changes the order of priority in tag<br>
&nbsp;&nbsp;&nbsp;&nbsp;matching).<br>
7&nbsp;&nbsp; Support for &quot;gtags&quot; and &quot;global&quot;?&nbsp;&nbsp;With &quot;:rtag&quot; command?<br>
&nbsp;&nbsp;&nbsp;&nbsp;There is an example for how to do this in Nvi.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or do it like Elvis:&nbsp;<span class="MissingTag">'tagprg'</span>&nbsp;and&nbsp;<span class="MissingTag">'tagprgonce'</span>&nbsp;options. (Yamaguchi)<br>
&nbsp;&nbsp;&nbsp;&nbsp;The Elvis method is far more flexible, do it that way.<br>
7&nbsp;&nbsp; Support &quot;col:99&quot; extra field, to position the cursor in that column.&nbsp;&nbsp;With<br>
&nbsp;&nbsp;&nbsp;&nbsp;a flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;to switch it off again.<br>
7&nbsp;&nbsp; Better support for jumping to where a function or variable is used.&nbsp;&nbsp;Use<br>
&nbsp;&nbsp;&nbsp;&nbsp;the id-utils, with a connection to &quot;gid&quot; (Emacs can do it too).&nbsp;&nbsp;Add<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:idselect&quot;, which uses an &quot;ID&quot; database (made by &quot;mkid&quot;) like &quot;tselect&quot;.<br>
<br>
<br>
Win32 GUI:<br>
8&nbsp;&nbsp; Make debug mode work while starting up (vim -D).&nbsp;&nbsp;Open console window for<br>
&nbsp;&nbsp;&nbsp;&nbsp;the message and input?<br>
7&nbsp;&nbsp; GvimExt: when there are several existing Vims, move the list to a submenu.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Mike McCollister)<br>
8&nbsp;&nbsp; When using &quot;Edit with Vim&quot; for one file it changes directory, when several<br>
&nbsp;&nbsp;&nbsp;&nbsp;files are selected and using &quot;Edit with single Vim&quot; the directory isn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;changed.&nbsp;&nbsp;At least change directory when the path is the same for all<br>
&nbsp;&nbsp;&nbsp;&nbsp;files.&nbsp;&nbsp;Perhaps just use the path of the first file or use the longest<br>
&nbsp;&nbsp;&nbsp;&nbsp;common part of the path.<br>
8&nbsp;&nbsp; Add font argument to set the lfCharSet. (Bobcik)<br>
8&nbsp;&nbsp; Somehow automatically detect the system language and set $LANG, so that<br>
&nbsp;&nbsp;&nbsp;&nbsp;gettext and menus work.<br>
8&nbsp;&nbsp; Could keep console open to run multiple commands, to avoid the need to hit<br>
&nbsp;&nbsp;&nbsp;&nbsp;return in every console.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: Look at how Emacs does run external commands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.cs.washington.edu/homes/voelker/ntemacs.html">http://www.cs.washington.edu/homes/voelker/ntemacs.html</a></span>.<br>
8&nbsp;&nbsp; Need a separate PopUp menu for modeless selection.&nbsp;&nbsp;Need two new commands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;Copy selection to clipboard, Paste selection (as typed text).<br>
8&nbsp;&nbsp; Support copy/paste for other file formats.&nbsp;&nbsp;At least HTML, perhaps RTF.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add &quot;copy special&quot; and &quot;paste special&quot; commands?<br>
7&nbsp;&nbsp; Use different default colors, to match the current Windows color scheme.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Sys_WindowText, Sys_Window, etc. (Lionel Schaffhauser)<br>
7&nbsp;&nbsp; Use&nbsp;<span class="Special">&lt;C-Tab&gt;</span>&nbsp;to cycle through open windows (e.g., the find dialog).<br>
7&nbsp;&nbsp;&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;should close a dialog.<br>
7&nbsp;&nbsp; Keep the console for external commands open.&nbsp;&nbsp;Don't wait for a key to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;hit.&nbsp;&nbsp;Re-open it when the user has closed it anyway.&nbsp;&nbsp;Or use a prepended<br>
&nbsp;&nbsp;&nbsp;&nbsp;command: &quot;:nowait&nbsp;<span class="Special">{cmd}</span>&quot;, or &quot;:quiet&quot;, which executes&nbsp;<span class="Special">{cmd}</span>&nbsp;without any<br>
&nbsp;&nbsp;&nbsp;&nbsp;prompts.<br>
7&nbsp;&nbsp; Should be able to set an option so that when you double click a file that<br>
&nbsp;&nbsp;&nbsp;&nbsp;is associated with Vim, you can either get a new instance of Vim, or have<br>
&nbsp;&nbsp;&nbsp;&nbsp;the file added into an already running Vim.<br>
7&nbsp;&nbsp; The &quot;-P&quot; argument only works for the current codepage.&nbsp;&nbsp;Use wide<br>
&nbsp;&nbsp;&nbsp;&nbsp;functions to find the window title.<br>
<br>
<br>
GUI:<br>
8&nbsp;&nbsp; Make inputdialog() work for Photon, Amiga.<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">&lt;C--&gt;</span>&nbsp;cannot be mapped.&nbsp;&nbsp;Should be possible to recognize this as a<br>
&nbsp;&nbsp;&nbsp;&nbsp;normal &quot;-&quot; with the Ctrl modifier.<br>
7&nbsp;&nbsp; Implement &quot;:popup&quot; for other systems than Windows.<br>
8&nbsp;&nbsp; Implement &quot;:tearoff&quot; for other systems than Win32 GUI.<br>
6&nbsp;&nbsp; Implement &quot;:untearoff&quot;: hide a torn-off menu.<br>
8&nbsp;&nbsp; When using the scrollbar to scroll, don't move the cursor position.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;moving the cursor: scroll to the cursor position.<br>
9&nbsp;&nbsp; Make&nbsp;<span class="Special">&lt;S-Insert&gt;</span>&nbsp;paste from the clipboard by default. (Kunze)<br>
7&nbsp;&nbsp; Menu local to a buffer, like mappings.&nbsp;&nbsp;Or local to a filetype?<br>
8&nbsp;&nbsp; In Buffers menu, add a choice whether selecting a buffer opens it in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current window, splits the window or uses &quot;:hide&quot;.<br>
8&nbsp;&nbsp; Dragging the mouse pointer outside of a Vim Window should make the text<br>
&nbsp;&nbsp;&nbsp;&nbsp;scroll.&nbsp;&nbsp;Return a value from gui_send_mouse_event() to the machine<br>
&nbsp;&nbsp;&nbsp;&nbsp;specific code to indicate the time in which the event should be repeated.<br>
8&nbsp;&nbsp; Make it possible to ignore a mouse click when it's used to give Vim (gvim)<br>
&nbsp;&nbsp;&nbsp;&nbsp;window focus.&nbsp;&nbsp;Also when a mouse click is used to bring a window to front.<br>
8&nbsp;&nbsp; Make the split into system independent code and system specific code more<br>
&nbsp;&nbsp;&nbsp;&nbsp;explicit.&nbsp;&nbsp;There are too many #ifdefs in gui.c.<br>
&nbsp;&nbsp;&nbsp;&nbsp;If possible, separate the Vim code completely from the GUI code, to allow<br>
&nbsp;&nbsp;&nbsp;&nbsp;running them in separate processes.<br>
7&nbsp;&nbsp; X11: Support cursorColor resource and &quot;-cr&quot; argument.<br>
8&nbsp;&nbsp; X11 (and others):&nbsp;<span class="Special">CTRL-;</span>&nbsp;is not different from ';'.&nbsp;&nbsp;Set the modifier mask<br>
&nbsp;&nbsp;&nbsp;&nbsp;to include CTRL for keys where CTRL produces the same ASCII code.<br>
7&nbsp;&nbsp; Add some code to handle proportional fonts on more systems?&nbsp;&nbsp;Need to draw<br>
&nbsp;&nbsp;&nbsp;&nbsp;each character separately (like xterm).&nbsp;&nbsp;Also for when a double-width font<br>
&nbsp;&nbsp;&nbsp;&nbsp;is not exactly double-width. (Maeda)<br>
8&nbsp;&nbsp; Should take font from xterm where gvim was started (if no other default).<br>
8&nbsp;&nbsp; Selecting font names in X11 is difficult, make a script or something to<br>
&nbsp;&nbsp;&nbsp;&nbsp;select one.<br>
8&nbsp;&nbsp; Visual highlighting should keep the same font (bold, italic, etc.).<br>
8&nbsp;&nbsp; Add flag to&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;to not put anything in the clipboard at all?<br>
8&nbsp;&nbsp; Should support a way to use keys that we don't recognize yet.&nbsp;&nbsp;Add a<br>
&nbsp;&nbsp;&nbsp;&nbsp;command that adds entries to special_keys somehow.&nbsp;&nbsp;How do we make this<br>
&nbsp;&nbsp;&nbsp;&nbsp;portable (X11, Win32, ..)?<br>
7&nbsp;&nbsp; Add a flag to&nbsp;<a class="Type" href="options.html#'guioptions'">'guioptions'</a>&nbsp;that tells not to remove inactive menu items.<br>
&nbsp;&nbsp;&nbsp;&nbsp;For systems where greying-out or removing menu items is very slow.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;menu items would remain visibly normally, but not do anything.<br>
7&nbsp;&nbsp; Add &quot;:minimize&quot; and &quot;:maximize&quot;, which iconize the window and back.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Useful when using gvim to run a script (e.g. 2html.vim).<br>
7&nbsp;&nbsp; X11: Is it possible to free allocated colors, so that other programs can<br>
&nbsp;&nbsp;&nbsp;&nbsp;use them again?&nbsp;&nbsp;Otherwise, allow disabling allocating the default colors.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or allocate an own colormap (check UAE).&nbsp;&nbsp;With an option to use it.&nbsp;&nbsp;For<br>
&nbsp;&nbsp;&nbsp;&nbsp;the commandline, &quot;-install&quot; is mostly used for X11 programs.<br>
7&nbsp;&nbsp; Should support multi-column menus.<br>
-&nbsp;&nbsp; Should add option for where to put the &quot;Help&quot; menu: like Motif at the far<br>
&nbsp;&nbsp;&nbsp;&nbsp;right, or with the other menus (but still at the right).<br>
-&nbsp;&nbsp; Add menu item to &quot;Keep Insert mode&quot;.<br>
8&nbsp;&nbsp; &quot;:mkgvimrc&quot; command, that includes menus.<br>
6&nbsp;&nbsp; Big change: Move GUI to separate program &quot;vimgui&quot;, to make startup of vim a<br>
&nbsp;&nbsp;&nbsp;&nbsp;lot faster, but still be able to do &quot;vim -g&quot; or &quot;:gui&quot;.<br>
7&nbsp;&nbsp; More explicit mouse button binding instead of&nbsp;<a class="Type" href="options.html#'mousemodel'">'mousemodel'</a>?<br>
7&nbsp;&nbsp; Add option to set the position of the window on the screen.&nbsp;&nbsp;<span class="MissingTag">'windowpos'</span>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;which has a value of &quot;123,456&quot;:&nbsp;<span class="Special">&lt;x&gt;</span>,<span class="Special">&lt;y&gt;</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or add a command, like &quot;:winsize&quot;?<br>
7&nbsp;&nbsp; Add toolbar for more GUIs.<br>
8&nbsp;&nbsp; Make it possible to use &quot;amenu icon=BuiltIn##&quot;, so that the toolbar item<br>
&nbsp;&nbsp;&nbsp;&nbsp;name can be chosen free.<br>
7&nbsp;&nbsp; Make it possible to put the toolbar on top, left, right and/or bottom of<br>
&nbsp;&nbsp;&nbsp;&nbsp;the window?&nbsp;&nbsp;Allows for softkey-like use.<br>
6&nbsp;&nbsp; Separate the part of Vim that does the editing from the part that runs the<br>
&nbsp;&nbsp;&nbsp;&nbsp;GUI.&nbsp;&nbsp;Communicate through a pseudo-tty.&nbsp;&nbsp;Vim starts up, creates a<br>
&nbsp;&nbsp;&nbsp;&nbsp;pty that is connected to the terminal.&nbsp;&nbsp;When the GUI starts, the pty is<br>
&nbsp;&nbsp;&nbsp;&nbsp;reconnected to the GUI process.&nbsp;&nbsp;When the GUI stops, it is connected to<br>
&nbsp;&nbsp;&nbsp;&nbsp;the terminal again.&nbsp;&nbsp;Also use the pty for external processes, it looks<br>
&nbsp;&nbsp;&nbsp;&nbsp;like a vt100 terminal to them.&nbsp;&nbsp;Vim uses extra commands to communicate GUI<br>
&nbsp;&nbsp;&nbsp;&nbsp;things.<br>
7&nbsp;&nbsp; Motif: For a confirm() dialog&nbsp;<span class="Special">&lt;Enter&gt;</span>&nbsp;should be ignored when no default<br>
&nbsp;&nbsp;&nbsp;&nbsp;button selected,&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;should close the dialog.<br>
7&nbsp;&nbsp; When using a pseudo-tty Vim should behave like some terminal (vt52 looks<br>
&nbsp;&nbsp;&nbsp;&nbsp;simple enough).&nbsp;&nbsp;Terminal codes to/from shell should be translated.<br>
-&nbsp;&nbsp; Would it be useful to be able to quit the GUI and go back to the terminal<br>
&nbsp;&nbsp;&nbsp;&nbsp;where it was started from?<br>
7&nbsp;&nbsp; Support &quot;-visual&nbsp;<span class="Special">&lt;type&gt;</span>&quot; command line argument.<br>
<br>
<br>
Autocommands:<br>
9&nbsp;&nbsp; Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'filetype'">'filetype'</a>.&nbsp;&nbsp;Only for when the current buffer is known.<br>
-&nbsp;&nbsp; Put autocommand event names in a hashtable for faster lookup?<br>
8&nbsp;&nbsp; When the SwapExists event is triggered, provide information about the<br>
&nbsp;&nbsp;&nbsp;&nbsp;swap file, e.g., whether the process is running, file was modified, etc.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Must be possible to check the situation that it's probably OK to delete<br>
&nbsp;&nbsp;&nbsp;&nbsp;the swap file. (Marc Merlin)<br>
8&nbsp;&nbsp; When all the patterns for an event are &quot;*&quot; there is no need to expand<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer names to a full path.&nbsp;&nbsp;This can be slow for NFS.<br>
7&nbsp;&nbsp; For autocommand events that trigger multiple times per buffer (e.g.,<br>
&nbsp;&nbsp;&nbsp;&nbsp;CursorHold), go through the list once and cache the result for a specific<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer.&nbsp;&nbsp;Invalidate the cache when adding/deleting autocommands or<br>
&nbsp;&nbsp;&nbsp;&nbsp;changing the buffer name.<br>
7&nbsp;&nbsp; Add TagJump event: do something after jumping to a tag.<br>
8&nbsp;&nbsp; Add &quot;TagJumpFile&quot; autocommand: When jumping to another file for a tag.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can be used to open &quot;main.c.gz&quot; when &quot;main.c&quot; isn't found.<br>
8&nbsp;&nbsp; Use another option than&nbsp;<a class="Type" href="options.html#'updatetime'">'updatetime'</a>&nbsp;for the CursorHold event.&nbsp;&nbsp;The two<br>
&nbsp;&nbsp;&nbsp;&nbsp;things are unrelated for the user (but the implementation is more<br>
&nbsp;&nbsp;&nbsp;&nbsp;difficult).<br>
7&nbsp;&nbsp; Add autocommand event for when a buffer cannot be abandoned.&nbsp;&nbsp;So that the<br>
&nbsp;&nbsp;&nbsp;&nbsp;user can define the action taking (autowrite, dialog, fail) based on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;kind of file. (Yakov Lerner)&nbsp;&nbsp;Or is BufLeave sufficient?<br>
8&nbsp;&nbsp; Autocommand for when modified files have been found, when getting input<br>
&nbsp;&nbsp;&nbsp;&nbsp;focus again (e.g., FileChangedFocus).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Check when: getting focus, jumping to another buffer, ...<br>
8&nbsp;&nbsp; Autocommands should not change registers.&nbsp;&nbsp;And marks?&nbsp;&nbsp;And the jumplist?<br>
&nbsp;&nbsp;&nbsp;&nbsp;And anything else?&nbsp;&nbsp;Add a command to save and restore these things.<br>
8&nbsp;&nbsp; Add autocommands, user functions and user commands to &quot;:mkvimrc&quot;.<br>
6&nbsp;&nbsp; Add KeymapChanged event, so that the effects of a different keymap can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;handled (e.g., other font) (Ron Aaron)<br>
7&nbsp;&nbsp; When trying to open a directory, trigger an OpenDirectory event.<br>
7&nbsp;&nbsp; Add file type in front of file pattern:&nbsp;<span class="Special">&lt;d&gt;</span>&nbsp;for directory,&nbsp;<span class="Special">&lt;l&gt;</span>&nbsp;for link,<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;x&gt;</span>&nbsp;for executable, etc.&nbsp;&nbsp;With commas to separate alternatives.&nbsp;&nbsp;The<br>
&nbsp;&nbsp;&nbsp;&nbsp;autocommand is only executed when both the file type AND the file pattern<br>
&nbsp;&nbsp;&nbsp;&nbsp;match. (Leonard)<br>
5&nbsp;&nbsp; Add option that specifies extensions which are to be discarded from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;file name.&nbsp;&nbsp;E.g.&nbsp;<span class="MissingTag">'ausuffix'</span>, with &quot;.gz,.orig&quot;.&nbsp;&nbsp;Such that file.c.gz will<br>
&nbsp;&nbsp;&nbsp;&nbsp;trigger the &quot;*.c&quot; autocommands.&nbsp;&nbsp;(Belabas)<br>
7&nbsp;&nbsp; Add something to break the autocommands for the current event, and for<br>
&nbsp;&nbsp;&nbsp;&nbsp;what follows.&nbsp;&nbsp;Useful for a &quot;BufWritePre&quot; that wants to avoid writing the<br>
&nbsp;&nbsp;&nbsp;&nbsp;file.<br>
8&nbsp;&nbsp; When editing &quot;tt.gz&quot;, which is in DOS format,&nbsp;<a class="Type" href="options.html#'fileformat'">'fileformat'</a>&nbsp;stays at<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;unix&quot;, thus writing the file changes it.&nbsp;&nbsp;Somehow detect that the read<br>
&nbsp;&nbsp;&nbsp;&nbsp;command used dos fileformat.&nbsp;&nbsp;Same for&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>.<br>
-&nbsp;&nbsp; Add events to autocommands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;Error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - When an error happens<br>
&nbsp;&nbsp;&nbsp;&nbsp;NormalEnter&nbsp;&nbsp;&nbsp;&nbsp; - Entering Normal mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;ReplaceEnter&nbsp;&nbsp;&nbsp;&nbsp;- Entering Replace mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;CmdEnter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Entering Cmdline mode (with type of cmdline to allow<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;different mapping)<br>
&nbsp;&nbsp;&nbsp;&nbsp;VisualEnter&nbsp;&nbsp;&nbsp;&nbsp; - Entering Visual mode<br>
<span class="Statement">&nbsp;&nbsp;&nbsp;&nbsp;</span>*Leave&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Leaving a mode (in pair with the above *Enter)<br>
&nbsp;&nbsp;&nbsp;&nbsp;VimLeaveCheck&nbsp;&nbsp;&nbsp;&nbsp;- Before Vim decides to exit, so that it can be cancelled<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;when exiting isn't a good idea.<br>
&nbsp;&nbsp;&nbsp;&nbsp;CursorHoldC&nbsp;&nbsp;&nbsp;&nbsp; - CursorHold while command-line editing<br>
&nbsp;&nbsp;&nbsp;&nbsp;WinMoved&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- when windows have been moved around, e.g, &quot;:wincmd J&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;SearchPost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- After doing a search command (e.g. to do &quot;M&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;PreDirChanged/PostDirChanged<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Before/after &quot;:cd&quot; has been used (for changing the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window title)<br>
&nbsp;&nbsp;&nbsp;&nbsp;ShutDown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- when the system is about to shut down<br>
&nbsp;&nbsp;&nbsp;&nbsp;InsertCharPost&nbsp;&nbsp;- user typed a character in Insert mode, after inserting<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the char.<br>
&nbsp;&nbsp;&nbsp;&nbsp;BufModified&nbsp;&nbsp;&nbsp;&nbsp; - When a buffer becomes modified, or unmodified (for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;putting a [+] in the window title or checking out the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;file from CVS).<br>
&nbsp;&nbsp;&nbsp;&nbsp;BufFirstChange&nbsp;&nbsp;- When making a change, when&nbsp;<a class="Type" href="options.html#'modified'">'modified'</a>&nbsp;is set.&nbsp;&nbsp;Can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used to do a :preserve for remote files.<br>
&nbsp;&nbsp;&nbsp;&nbsp;BufChange&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - after a change was made.&nbsp;&nbsp;Set some variables to indicate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the position and number of inserted/deleted lines, so<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that marks can be updated.&nbsp;&nbsp;HierAssist has patch to add<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BufChangePre, BufChangePost and RevertBuf. (Shah)<br>
&nbsp;&nbsp;&nbsp;&nbsp;ViewChanged&nbsp;&nbsp;&nbsp;&nbsp; - triggered when the text scrolls and when the window size<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;WinResized&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- After a window has been resized<br>
&nbsp;&nbsp;&nbsp;&nbsp;WinClose&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Just before closing a window<br>
-&nbsp;&nbsp; Write the file now and then (<a class="Type" href="todo.html#'autosave'">'autosave'</a>):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#'autosave'" name="'autosave'">'autosave'</a>&nbsp;<a class="Constant" href="todo.html#'as'" name="'as'">'as'</a>&nbsp;<a class="Constant" href="todo.html#'noautosave'" name="'noautosave'">'noautosave'</a>&nbsp;<a class="Constant" href="todo.html#'noas'" name="'noas'">'noas'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="todo.html#'autosave'">'autosave'</a>&nbsp;<a class="Type" href="todo.html#'as'">'as'</a>&nbsp;number&nbsp;&nbsp;(default 0)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Automatically write the current buffer to file&nbsp;<span class="Special">N</span>&nbsp;seconds after the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;last change has been made and when&nbsp;<a class="Identifier" href="options.html#'modified'">'modified'</a>&nbsp;is still set.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default: 0 = do not autosave the buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: have&nbsp;<a class="Type" href="todo.html#'autosave'">'autosave'</a>&nbsp;use&nbsp;<a class="Type" href="options.html#'updatetime'">'updatetime'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'updatecount'">'updatecount'</a>&nbsp;but make<br>
&nbsp;&nbsp;&nbsp;&nbsp;them save the file itself besides the swapfile.<br>
<br>
<br>
Omni completion:<br>
-&nbsp;&nbsp; Add a flag to&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;to be able to do omni completion with&nbsp;<span class="Special">CTRL-N</span>&nbsp;(and<br>
&nbsp;&nbsp;&nbsp;&nbsp;mix it with other kinds of completion).<br>
-&nbsp;&nbsp; Ideas from the Vim 7 BOF at SANE:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- For interpreted languages, use the interpreter to obtain information.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Should work for Java (Eclipse does this), Python, Tcl, etc.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Richard Emberson mentioned working on an interface to Java.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Check Readline for its completion interface.<br>
-&nbsp;&nbsp; Ideas from others:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.wholetomato.com/">http://www.wholetomato.com/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.vim.org/scripts/script.php?script_id=747">http://www.vim.org/scripts/script.php?script_id=747</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://sourceforge.net/projects/insenvim">http://sourceforge.net/projects/insenvim</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;<span class="Constant"><a href="http://insenvim.sourceforge.net">http://insenvim.sourceforge.net</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Java, XML, HTML, C++, JSP, SQL, C#<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MS-Windows only, lots of dependencies (e.g. Perl, Internet<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;explorer), uses .dll shared libraries.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For C++ uses $INCLUDE environment var.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses Perl for C++.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Uses ctags to find the info:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ctags -f $allTagsFile --fields=+aiKmnsSz --language-force=C++ --C++-kinds=+cefgmnpsut-dlux -u $files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant">www.vim.org</span>&nbsp;script 1213 (Java Development Environment) (Fuchuan Wang)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IComplete:&nbsp;<span class="Constant"><a href="http://www.vim.org/scripts/script.php?script_id=1265">http://www.vim.org/scripts/script.php?script_id=1265</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;<span class="Constant"><a href="http://stud4.tuwien.ac.at/~e0125672/icomplete/">http://stud4.tuwien.ac.at/~e0125672/icomplete/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://cedet.sourceforge.net/intellisense.shtml">http://cedet.sourceforge.net/intellisense.shtml</a></span>&nbsp;(for Emacs)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Ivan Villanueva has something for Java.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Emacs:&nbsp;<span class="Constant"><a href="http://www.xref-tech.com/xrefactory/more_c_completion.html">http://www.xref-tech.com/xrefactory/more_c_completion.html</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Completion in .NET framework SharpDevelop:&nbsp;<span class="Constant"><a href="http://www.icsharpcode.net">http://www.icsharpcode.net</a></span><br>
-&nbsp;&nbsp; Pre-expand abbreviations, show which abbrevs would match?<br>
<br>
<br>
Insert mode completion/expansion:<br>
-&nbsp;&nbsp; GUI implementation of the popup menu.<br>
7&nbsp;&nbsp; When searching in other files the name flash by, too fast to read.&nbsp;&nbsp;Only<br>
&nbsp;&nbsp;&nbsp;&nbsp;display a name every second or so, like with &quot;:vimgrep&quot;.<br>
7&nbsp;&nbsp; When expanding file names with an environment variable, add the match with<br>
&nbsp;&nbsp;&nbsp;&nbsp;the unexpanded var.&nbsp;&nbsp;So $HOME/tm expands to &quot;/home/guy/tmp&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;$HOME/tmp&quot;<br>
8&nbsp;&nbsp; When there is no word before the cursor but something like &quot;sys.&quot; complete<br>
&nbsp;&nbsp;&nbsp;&nbsp;with &quot;sys.&quot;.&nbsp;&nbsp;Works well for C and similar languages.<br>
9&nbsp;&nbsp; ^X^L completion doesn't repeat correctly.&nbsp;&nbsp;It uses the first match with<br>
&nbsp;&nbsp;&nbsp;&nbsp;the last added line, instead of continuing where the last match ended.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Webb)<br>
8&nbsp;&nbsp; Add option to set different behavior for Insert mode completion:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- ignore/match case<br>
&nbsp;&nbsp;&nbsp;&nbsp;- different characters than&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a><br>
8&nbsp;&nbsp; Add option&nbsp;<span class="MissingTag">'isexpand'</span>, containing characters when doing expansion (so that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;.&quot; and &quot;\&quot; can be included, without changing&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>). (Goldfarb)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also:&nbsp;<span class="MissingTag">'istagword'</span>: characters used for&nbsp;<span class="Special">CTRL-]</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When&nbsp;<span class="MissingTag">'isexpand'</span>&nbsp;or&nbsp;<span class="MissingTag">'istagword'</span>&nbsp;are empty, use&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: Use a pattern so that start and end of a keyword can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;defined, only allow dash in the middle, etc.<br>
8&nbsp;&nbsp; Add a command to undo the completion, go back to the original text.<br>
7&nbsp;&nbsp; Completion of an abbreviation: Can leave letters out, like what Instant<br>
&nbsp;&nbsp;&nbsp;&nbsp;text does:&nbsp;<span class="Constant">www.textware.com</span><br>
8&nbsp;&nbsp; Use the class information in the tags file to do context-sensitive<br>
&nbsp;&nbsp;&nbsp;&nbsp;completion.&nbsp;&nbsp;After &quot;foo.&quot; complete all member functions/variables of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;foo&quot;.&nbsp;&nbsp;Need to search backwards for the class definition of foo.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Should work for C++ and Java.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Even more context would be nice: &quot;import java.^<span class="Special">N</span>&quot; -&gt; &quot;io&quot;, &quot;lang&quot;, etc.<br>
7&nbsp;&nbsp; When expanding $HOME/dir with ^X^F keep the $HOME (with an option?).<br>
7&nbsp;&nbsp; Add&nbsp;<span class="Special">CTRL-X</span>&nbsp;command in Insert mode like&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-N</span>, that completes WORDS<br>
&nbsp;&nbsp;&nbsp;&nbsp;instead of words.<br>
8&nbsp;&nbsp; Add&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-R</span>: complete words from register contents.<br>
8&nbsp;&nbsp; Add completion of previously inserted texts (like what&nbsp;<span class="Special">CTRL-A</span>&nbsp;does).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Requires remembering a number of insertions.<br>
8&nbsp;&nbsp; Add 'f' flag to&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>: Expand file names.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also apply&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;to whole line completion.<br>
-&nbsp;&nbsp; Add a flag to&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;to only scan local header files, not system<br>
&nbsp;&nbsp;&nbsp;&nbsp;header files. (Andri Moell)<br>
-&nbsp;&nbsp; Make it possible to search include files in several places.&nbsp;&nbsp;Use the<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;option?&nbsp;&nbsp;Can this be done with the dictionary completion (use<br>
&nbsp;&nbsp;&nbsp;&nbsp;wildcards in the file name)?<br>
-&nbsp;&nbsp; Make&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-K</span>&nbsp;do a binary search in the dictionary (if it's sorted).<br>
-&nbsp;&nbsp; Speed up&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-K</span>&nbsp;dictionary searching (don't use a regexp?).<br>
-&nbsp;&nbsp; Set a mark at the position where the match was found (file mark, could<br>
&nbsp;&nbsp;&nbsp;&nbsp;be in another file).<br>
-&nbsp;&nbsp; Add&nbsp;<span class="Special">CTRL-A</span>&nbsp;command in&nbsp;<span class="Special">CTRL-X</span>&nbsp;mode: show all matches.<br>
-&nbsp;&nbsp; Make&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-L</span>&nbsp;use the&nbsp;<a class="Type" href="options.html#'complete'">'complete'</a>&nbsp;option?<br>
-&nbsp;&nbsp; Add command in&nbsp;<span class="Special">CTRL-X</span>&nbsp;mode to add following words to the completed string<br>
&nbsp;&nbsp;&nbsp;&nbsp;(e.g. to complete &quot;Pointer-&gt;element&quot; with&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-P</span>&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-W</span>)<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-F</span>: Use&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;to find completions.<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-F</span>: Option to use forward slashes on MS-Windows?<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-X</span>&nbsp;<span class="Special">CTRL-F</span>: Don't replace &quot;$VIM&quot; with the actual value. (Kelly)<br>
-&nbsp;&nbsp; Allow listing all matches in some way (and picking one from the list).<br>
<br>
<br>
Command line editing:<br>
7&nbsp;&nbsp; Add commands (keys) to delete from the cursor to the end of the command<br>
&nbsp;&nbsp;&nbsp;&nbsp;line.<br>
8&nbsp;&nbsp; Custom completion of user commands can't use the standard completion<br>
&nbsp;&nbsp;&nbsp;&nbsp;functions.&nbsp;&nbsp;Add a hook to invoke a user function that returns the type of<br>
&nbsp;&nbsp;&nbsp;&nbsp;completion to be done: &quot;file&quot;, &quot;tag&quot;, &quot;custom&quot;, etc.<br>
-&nbsp;&nbsp; Add flags to&nbsp;<a class="Type" href="options.html#'whichwrap'">'whichwrap'</a>&nbsp;for command line editing (cursor right at end of<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines wraps to start of line).<br>
-&nbsp;&nbsp; Make editing the command line work like Insert mode in a single-line view<br>
&nbsp;&nbsp;&nbsp;&nbsp;on a buffer that contains the command line history.&nbsp;&nbsp;But this has many<br>
&nbsp;&nbsp;&nbsp;&nbsp;disadvantages, only implement it when these can be solved.&nbsp;&nbsp;Elvis has run<br>
&nbsp;&nbsp;&nbsp;&nbsp;into these, see remarks from Steve (~/Mail/oldmail/kirkendall/in.00012).<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Going back in history and editing a line there would change the history.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Would still need to keep a copy of the history elsewhere.&nbsp;&nbsp;Like the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmdwin does now already.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Use&nbsp;<span class="Special">CTRL-O</span>&nbsp;to execute one Normal mode command.&nbsp;&nbsp;How to switch to normal<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mode for more commands?&nbsp;&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;should cancel the command line.&nbsp;&nbsp;<span class="Special">CTRL-T</span>?<br>
&nbsp;&nbsp;&nbsp;&nbsp;- To allow &quot;/&quot; and &quot;= need to recursively call getcmdline(), overwrite the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmdline.&nbsp;&nbsp;But then we are editing a command-line again.&nbsp;&nbsp;How to avoid<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that the user gets confused by the stack of command lines?<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Use edit() for normal cmdline editing?&nbsp;&nbsp;Would have to integrate<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;getcmdline() into edit().&nbsp;&nbsp;Need to solve conflicts between Insert mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and Command-line mode commands.&nbsp;&nbsp;Make it work like Korn shell and tcsh.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Problems:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Insert: completion with&nbsp;<a class="Type" href="options.html#'wildchar'">'wildchar'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Insert: use cmdline abbreviations<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Insert:&nbsp;<span class="Special">CTRL-D</span>&nbsp;deletes indent instead of listing matches<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Normal: no&nbsp;<span class="Special">CTRL-W</span>&nbsp;commands<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Normal: no &quot;:&quot; commands?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Normal: allow Visual mode only within one line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- where to show insert/normal mode message?&nbsp;&nbsp;Change highlighting of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character in first column?<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Implementation ideas:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Set &quot;curwin&quot; and &quot;curbuf&quot; to the command line window and buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- curwin-&gt;w_topline is always equal to curwin-&gt;w_cursor.lnum.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- never set&nbsp;<a class="Type" href="options.html#'number'">'number'</a>, no folding, etc.&nbsp;&nbsp;No status line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- sync undo after entering a command line?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- use NV_NOCL flag for commands that are not allowed in Command-line<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mode.<br>
<br>
<br>
Command line completion:<br>
8&nbsp;&nbsp; Change expand_interactively into a flag that is passed as an argument.<br>
8&nbsp;&nbsp; With command line completion after '%' and '#', expand current/alternate<br>
&nbsp;&nbsp;&nbsp;&nbsp;file name, so it can be edited.&nbsp;&nbsp;Also with modifiers, such as &quot;%:h&quot;.<br>
8&nbsp;&nbsp; When completing command names, either sort them on the long name, or list<br>
&nbsp;&nbsp;&nbsp;&nbsp;them with the optional part inside [].<br>
8&nbsp;&nbsp; Add an option to ignore case when doing interactive completion.&nbsp;&nbsp;So that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:e file<span class="Special">&lt;Tab&gt;</span>&quot; also lists &quot;Filelist&quot; (sorted after matching case matches).<br>
7&nbsp;&nbsp; Completion of &quot;:map x &quot;: fill in the current mapping, so that it can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;edited. (Sven Guckes)<br>
-&nbsp;&nbsp; For&nbsp;<a class="Type" href="options.html#'wildmenu'">'wildmenu'</a>: Simplify &quot;../bar&quot; when possible.<br>
-&nbsp;&nbsp; When using&nbsp;<span class="Special">&lt;Up&gt;</span>&nbsp;in wildmenu mode for a submenu, should go back to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current menu, not the first one.&nbsp;&nbsp;E.g., &quot;:emenu File.Save<span class="Special">&lt;Up&gt;</span>&quot;.<br>
8&nbsp;&nbsp; When using backtick expansion, the external command may write a greeting<br>
&nbsp;&nbsp;&nbsp;&nbsp;message.&nbsp;&nbsp;Add an option or commands to remove lines that match a regexp?<br>
7&nbsp;&nbsp; When listing matches of files, display the common path separately from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;file names, if this makes the listing shorter. (Webb)<br>
-&nbsp;&nbsp; Add command line completion for &quot;:ilist&quot; and friends, show matching<br>
&nbsp;&nbsp;&nbsp;&nbsp;identifiers (Webb).<br>
8&nbsp;&nbsp; Add command line completion for &quot;old value&quot; of a command.&nbsp;&nbsp;&quot;:args&nbsp;<span class="Special">&lt;key&gt;</span>&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;would result in the current list of arguments, which you can then edit.<br>
7&nbsp;&nbsp; Add command line completion with&nbsp;<span class="Special">CTRL-X</span>, just like Insert mode completion.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Useful for &quot;:s/word/xx/&quot;.<br>
-&nbsp;&nbsp; Add command to go back to the text as it was before completion started.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also to be used for&nbsp;<span class="Special">&lt;Up&gt;</span>&nbsp;in the command line.<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'wildlongest'</span>&nbsp;option: Key to use to find longest common match for<br>
&nbsp;&nbsp;&nbsp;&nbsp;command line completion (default&nbsp;<span class="Special">CTRL-L</span>), like&nbsp;<a class="Type" href="options.html#'wildchar'">'wildchar'</a>. (Cregut)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: when there are several matches, show them line a&nbsp;<span class="Special">CTRL-D</span>.<br>
<br>
<br>
Command line history:<br>
-&nbsp;&nbsp; Add &quot;KeyWasTyped&quot; flag: It's reset before each command and set when a<br>
&nbsp;&nbsp;&nbsp;&nbsp;character from the keyboard is consumed. Value is used to decide to put a<br>
&nbsp;&nbsp;&nbsp;&nbsp;command line in history or not. Put line in history if it didn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;completely resulted from one mapping.<br>
-&nbsp;&nbsp; When using &quot;:browse&quot;, also put the resulting edit command in the history,<br>
&nbsp;&nbsp;&nbsp;&nbsp;so that it can be repeated. (Demirel)<br>
<br>
<br>
Insert mode:<br>
9&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'autoindent'">'autoindent'</a>&nbsp;is set, hitting&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;twice, while there is text after<br>
&nbsp;&nbsp;&nbsp;&nbsp;the cursor, doesn't delete the autoindent in the resulting blank line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Rich Wales) This is Vi compatible, but it looks like a bug.<br>
8&nbsp;&nbsp; When using&nbsp;<span class="Special">CTRL-O</span>&nbsp;in Insert mode, then executing an insert command<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;a&quot; or &quot;i&quot;, should we return to Insert mode after&nbsp;<span class="Special">&lt;Esc&gt;</span>? (Eggink)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps it can be allowed a single time, to be able to do<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;<span class="Special">&lt;C-O&gt;</span>10axyz<span class="Special">&lt;Esc&gt;</span>&quot;.&nbsp;&nbsp;Nesting this further is confusing.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:map&nbsp;<span class="Special">&lt;F2&gt;</span>&nbsp;5aabc<span class="Special">&lt;Esc&gt;</span>&quot; works only once from Insert mode.<br>
8&nbsp;&nbsp; When using&nbsp;<span class="Special">CTRL-G</span>&nbsp;<span class="Special">CTRL-O</span>&nbsp;do like&nbsp;<span class="Special">CTRL-\</span>&nbsp;<span class="Special">CTRL-O</span>, but when returning with<br>
&nbsp;&nbsp;&nbsp;&nbsp;the cursor in the same position and the text didn't change continue the<br>
&nbsp;&nbsp;&nbsp;&nbsp;same change, so that &quot;.&quot; repeats the whole insert.<br>
7&nbsp;&nbsp; Use&nbsp;<span class="Special">CTRL-G</span>&nbsp;<span class="Special">&lt;count&gt;</span>&nbsp;to repeat what follows.&nbsp;&nbsp;Useful for inserting a<br>
&nbsp;&nbsp;&nbsp;&nbsp;character multiple times or repeating&nbsp;<span class="Special">CTRL-Y</span>.<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'revins'">'revins'</a>&nbsp;work in Replace mode.<br>
7&nbsp;&nbsp; Use&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>&nbsp;for&nbsp;<a class="Type" href="options.html#'showmatch'">'showmatch'</a>: When inserting a character check if it<br>
&nbsp;&nbsp;&nbsp;&nbsp;appears in the rhs of&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>.<br>
-&nbsp;&nbsp; In Insert mode (and command line editing?): Allow undo of the last typed<br>
&nbsp;&nbsp;&nbsp;&nbsp;character.&nbsp;&nbsp;This is useful for&nbsp;<span class="Special">CTRL-U</span>,&nbsp;<span class="Special">CTRL-W</span>, delete and backspace, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;also for characters that wrap to the next line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: be able to undo&nbsp;<span class="Special">CTRL-R</span>&nbsp;(insert register).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Possibly use&nbsp;<a class="Type" href="options.html#'backspace'">'backspace'</a>=&quot;whole&quot; for a mode where at least a&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;that<br>
&nbsp;&nbsp;&nbsp;&nbsp;inserts autoindent is undone by a single&nbsp;<span class="Special">&lt;BS&gt;</span>.<br>
-&nbsp;&nbsp; Use&nbsp;<span class="Special">CTRL-G</span>&nbsp;in Insert mode for an extra range of commands, like &quot;g&quot; in<br>
&nbsp;&nbsp;&nbsp;&nbsp;Normal mode.<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'paste'">'paste'</a>&nbsp;work without resetting other options, but override their<br>
&nbsp;&nbsp;&nbsp;&nbsp;value.&nbsp;&nbsp;Avoids problems when changing files and modelines or autocommands<br>
&nbsp;&nbsp;&nbsp;&nbsp;are used.<br>
-&nbsp;&nbsp; When typing&nbsp;<span class="Special">CTRL-V</span>&nbsp;and a digit higher than 2, only expect two digits.<br>
-&nbsp;&nbsp; Insert binary numbers with&nbsp;<span class="Special">CTRL-V</span>&nbsp;b.<br>
-&nbsp;&nbsp; Make it possible to undo&nbsp;<span class="Special">&lt;BS&gt;</span>,&nbsp;<span class="Special">&lt;C-W&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;C-U&gt;</span>.&nbsp;&nbsp;Bash uses&nbsp;<span class="Special">CTRL-Y</span>.<br>
<br>
<br>
<a class="Type" href="options.html#'cindent'">'cindent'</a>,&nbsp;<a class="Type" href="options.html#'smartindent'">'smartindent'</a>:<br>
9&nbsp;&nbsp; Wrapping a variable initialization should have extra indent:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char * veryLongName =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;very long string&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also check if &quot;cino=+10&quot; is used correctly.<br>
8&nbsp;&nbsp; Lisp indenting: &quot;\\&quot; confuses the indenter. (Dorai Sitaram, 2006 May 17)<br>
8&nbsp;&nbsp; Why are continuation lines outside of a {} block not indented?&nbsp;&nbsp;E.g.:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long_type foo =<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value;<br>
8&nbsp;&nbsp; Java: Inside an anonymous class, after an &quot;else&quot; or &quot;try&quot; the indent is<br>
&nbsp;&nbsp;&nbsp;&nbsp;too small. (Vincent Bergbauer)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Problem of using {} inside (),&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;doesn't work then.<br>
8&nbsp;&nbsp; In C++ it's possible to have {} inside (): (Kirshna)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;new String[] {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;asdf&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;asdf&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>
8&nbsp;&nbsp; In C++ a function isn't recognized inside a namespace:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Chow Loong Jin)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;namespace {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func(int arg) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
6&nbsp;&nbsp; Add&nbsp;<a class="Type" href="options.html#'cino'">'cino'</a>&nbsp;flag for this function argument layout: (Spencer Collyer)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func( arg1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, arg2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;, arg3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br>
7&nbsp;&nbsp; Add separate &quot;(0&quot; option into inside/outside a function (Zellner):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func(<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int x)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // indent like &quot;(4&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (a<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;&amp; b)&nbsp;&nbsp;&nbsp;&nbsp;// indent like &quot;(0&quot;<br>
9&nbsp;&nbsp; Using &quot;{&quot; in a comment: (Helmut Stiegler)<br>
&nbsp;&nbsp;&nbsp;&nbsp;if (a)<br>
&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (b)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &lt;-- this is indented incorrect<br>
&nbsp;&nbsp;&nbsp;&nbsp;Problem is that find_start_brace() checks for the matching brace to be in<br>
&nbsp;&nbsp;&nbsp;&nbsp;a comment, but not braces in between.&nbsp;&nbsp;Requires adding a comment check to<br>
&nbsp;&nbsp;&nbsp;&nbsp;findmatchlimit().<br>
-&nbsp;&nbsp; Make smartindenting configurable.&nbsp;&nbsp;Add&nbsp;<span class="MissingTag">'sioptions'</span>, e.g. '#' setting the<br>
&nbsp;&nbsp;&nbsp;&nbsp;indent to 0 should be switched on/off.<br>
7&nbsp;&nbsp; Support ANSI style function header, with each argument on its own line.<br>
-&nbsp;&nbsp; &quot;[p&quot; and &quot;]p&quot; should use&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;code if it's on (only for the first<br>
&nbsp;&nbsp;&nbsp;&nbsp;line).<br>
-&nbsp;&nbsp; Add option to&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;to set indent for comments outside of {}?<br>
-&nbsp;&nbsp; Make a command to line up a comment after a code line with a previous<br>
&nbsp;&nbsp;&nbsp;&nbsp;comment after a code line.&nbsp;&nbsp;Can&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;do this automatically?<br>
-&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>ing a '}', showmatch is done before fixing the indent.&nbsp;&nbsp;It<br>
&nbsp;&nbsp;&nbsp;&nbsp;looks better when the indent is fixed before the showmatch. (Webb)<br>
-&nbsp;&nbsp; Add option to make indenting work in comments too (for commented-out<br>
&nbsp;&nbsp;&nbsp;&nbsp;code), unless the line starts with &quot;*&quot;.<br>
-&nbsp;&nbsp; Don't use&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;when doing formatting with &quot;gq&quot;?<br>
-&nbsp;&nbsp; When formatting a comment after some text, insert the '*' for the new line<br>
&nbsp;&nbsp;&nbsp;&nbsp;(indent is correct if&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;is set, but '*' doesn't get inserted).<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;has both &quot;s1:/*,mb:*,ex:*/&quot; and &quot;s1:(*,mb:*,ex:*)&quot;, the<br>
&nbsp;&nbsp;&nbsp;&nbsp;'x' flag always uses the first match.&nbsp;&nbsp;Need to continue looking for more<br>
&nbsp;&nbsp;&nbsp;&nbsp;matches of &quot;*&quot; and remember all characters that could end the comment.<br>
-&nbsp;&nbsp; For smartindent: When typing&nbsp;<span class="MissingTag">'else'</span>&nbsp;line it up with matching&nbsp;<span class="MissingTag">'if'</span>.<br>
-&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'smartindent'">'smartindent'</a>: allow patterns in&nbsp;<a class="Type" href="options.html#'cinwords'">'cinwords'</a>, for e.g. TeX files, where<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines start with &quot;\item&quot;.<br>
-&nbsp;&nbsp; Support this style of comments (with an option): (Brown)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/* here is a comment that<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is just autoindented, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nothing else */<br>
-&nbsp;&nbsp; Add words to&nbsp;<a class="Type" href="options.html#'cinwords'">'cinwords'</a>&nbsp;to reduce the indent, e.g., &quot;end&quot; or &quot;fi&quot;.<br>
7&nbsp;&nbsp; Use Tabs for the indent of starting lines, pad with spaces for<br>
&nbsp;&nbsp;&nbsp;&nbsp;continuation lines.&nbsp;&nbsp;Allows changing&nbsp;<a class="Type" href="options.html#'tabstop'">'tabstop'</a>&nbsp;without messing up the<br>
&nbsp;&nbsp;&nbsp;&nbsp;indents.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Patch by Lech Lorens, 2010 Mar.&nbsp;&nbsp;Update by James McCoy, 2014 Mar 15.<br>
<br>
<br>
Java:<br>
8&nbsp;&nbsp; Can have {} constructs inside parens.&nbsp;&nbsp;Include changes from Steve<br>
&nbsp;&nbsp;&nbsp;&nbsp;Odendahl?<br>
8&nbsp;&nbsp; Recognize &quot;import java.util.Vector&quot; and use $CLASSPATH to find files for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;[i&quot; commands and friends.<br>
-&nbsp;&nbsp; For files found with&nbsp;<a class="Type" href="options.html#'include'">'include'</a>: handle &quot;*&quot; in included name, for Java.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Jason)<br>
-&nbsp;&nbsp; How to make a &quot;package java.util&quot; cause all classes in the package to be<br>
&nbsp;&nbsp;&nbsp;&nbsp;searched?&nbsp;&nbsp;Also for &quot;import java.util.*&quot;. (Mark Brophy)<br>
<br>
<br>
<a class="Type" href="options.html#'comments'">'comments'</a>:<br>
8&nbsp;&nbsp; When formatting C comments that are after code, the &quot;*&quot; isn't repeated<br>
&nbsp;&nbsp;&nbsp;&nbsp;like it's done when there is no code.&nbsp;&nbsp;And there is no automatic wrapping.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Recognize comments that come after code.&nbsp;&nbsp;Should insert the comment leader<br>
&nbsp;&nbsp;&nbsp;&nbsp;when it's &quot;#&quot; or &quot;//&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Other way around: when a C command starts with &quot;* 4&quot; the &quot;*&quot; is repeated<br>
&nbsp;&nbsp;&nbsp;&nbsp;while it should not.&nbsp;&nbsp;Use syntax HL comment recognition?<br>
7&nbsp;&nbsp; When using &quot;comments=fg:--&quot;, Vim inserts three spaces for a new line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When hitting a TAB, these spaces could be removed.<br>
7&nbsp;&nbsp; The 'n'esting flag doesn't do the indenting of the last (rightmost) item.<br>
6&nbsp;&nbsp; Make strings in&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;option a RE, to be able to match more<br>
&nbsp;&nbsp;&nbsp;&nbsp;complicated things. (Phillipps)&nbsp;&nbsp;Use a special flag to indicate that a<br>
&nbsp;&nbsp;&nbsp;&nbsp;regexp is used.<br>
8&nbsp;&nbsp; Make the&nbsp;<a class="Type" href="options.html#'comments'">'comments'</a>&nbsp;option with &quot;/* * */&quot; lines only repeat the &quot;*&quot; line<br>
&nbsp;&nbsp;&nbsp;&nbsp;when there is a &quot;/*&quot; before it?&nbsp;&nbsp;Or include this in&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>?<br>
<br>
<br>
Virtual edit:<br>
8&nbsp;&nbsp; Make the horizontal scrollbar work to move the text further left.<br>
7&nbsp;&nbsp; Allow specifying it separately for Tabs and beyond end-of-line?<br>
<br>
<br>
Text objects:<br>
8&nbsp;&nbsp; Add text object for fold, so that it can be yanked when it's open.<br>
8&nbsp;&nbsp; Add test script for text object commands &quot;aw&quot;, &quot;iW&quot;, etc.<br>
8&nbsp;&nbsp; Add text object for part of a CamelHumpedWord and under_scored_word.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Scott Graham)&nbsp;&nbsp;&quot;ac&quot; and &quot;au&quot;?<br>
8&nbsp;&nbsp; Add a text object for any kind of quoting, also with multi-byte<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters.&nbsp;&nbsp;Option to specify what quotes are recognized (default: all)<br>
&nbsp;&nbsp;&nbsp;&nbsp;use &quot;aq&quot; and &quot;iq&quot;.&nbsp;&nbsp;Use&nbsp;<span class="MissingTag">'quotepairs'</span>&nbsp;to define pairs of quotes, like<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>?<br>
8&nbsp;&nbsp; Add text object for any kind of parens, also multi-byte ones.<br>
8&nbsp;&nbsp; Add a way to make an &quot;:omap&quot; for a user-defined text object.&nbsp;&nbsp;Requires<br>
&nbsp;&nbsp;&nbsp;&nbsp;changing the starting position in oap-&gt;start.<br>
8&nbsp;&nbsp; Add &quot;gp&quot; and &quot;gP&quot; commands: insert text and make sure there is a single<br>
&nbsp;&nbsp;&nbsp;&nbsp;space before it, unless at the start of the line, and after it, unless at<br>
&nbsp;&nbsp;&nbsp;&nbsp;the end of the line or before a &quot;.&quot;.<br>
7&nbsp;&nbsp; Add objects with backwards extension?&nbsp;&nbsp;Use &quot;I&quot; and &quot;A&quot;.&nbsp;&nbsp;Thus &quot;2dAs&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;deletes the current and previous sentence. (Jens Paulus)<br>
7&nbsp;&nbsp; Add &quot;g{&quot; and &quot;g}&quot; to move to the first/last character of a paragraph<br>
&nbsp;&nbsp;&nbsp;&nbsp;(instead of the line just before/after a paragraph as with &quot;{&quot; and &quot;}&quot;).<br>
6&nbsp;&nbsp; Ignore comment leaders for objects.&nbsp;&nbsp;Make &quot;das&quot; work in reply-email.<br>
5&nbsp;&nbsp; Make it possible to use syntax group matches as a text object.&nbsp;&nbsp;For<br>
&nbsp;&nbsp;&nbsp;&nbsp;example, define a &quot;ccItem&quot; group, then do &quot;da<span class="Special">&lt;ccItem&gt;</span>&quot; to delete one.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or, maybe just define &quot;dai&quot;, delete-an-item, to delete the syntax item the<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor is on.<br>
<br>
<br>
Select mode:<br>
8&nbsp;&nbsp; In blockwise mode, typed characters are inserted in front of the block,<br>
&nbsp;&nbsp;&nbsp;&nbsp;backspace deletes a column before the block. (Steve Hall)<br>
7&nbsp;&nbsp; Alt-leftmouse starts block mode selection in MS Word.<br>
&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;<span class="Constant"><a href="http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise">http://vim.wikia.com/wiki/Use_Alt-Mouse_to_select_blockwise</a></span>.<br>
7&nbsp;&nbsp; Add Cmdline-select mode.&nbsp;&nbsp;Like Select mode, but used on the command line.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Change gui_send_mouse_event() to pass on mouse events when&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contains 'C' or 'A'.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Catch mouse events in ex_getln.c.&nbsp;&nbsp;Also shift-cursor, etc., like in<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;normal_cmd().<br>
&nbsp;&nbsp;&nbsp;&nbsp;- remember start and end of selection in cmdline_info.<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Typing text replaces the selection.<br>
<br>
<br>
Visual mode:<br>
8&nbsp;&nbsp; Support using &quot;.&quot; in Visual mode. Use the operator applied to the Visual<br>
&nbsp;&nbsp;&nbsp;&nbsp;selection, if possible.<br>
-&nbsp;&nbsp; When dragging the Visual selection with the mouse and&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is zero,<br>
&nbsp;&nbsp;&nbsp;&nbsp;behave like&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;is one, so that the text scrolls when the pointer<br>
&nbsp;&nbsp;&nbsp;&nbsp;is in the top line.<br>
-&nbsp;&nbsp; Displaying size of Visual area: use 24-33 column display.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When selecting multiple lines, up to about a screenful, also count the<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters.<br>
8&nbsp;&nbsp; When using &quot;I&quot; or &quot;A&quot; in Visual block mode, short lines do not get the new<br>
&nbsp;&nbsp;&nbsp;&nbsp;text.&nbsp;&nbsp;Make it possible to add the text to short lines too, with padding<br>
&nbsp;&nbsp;&nbsp;&nbsp;where needed.<br>
7&nbsp;&nbsp; With a Visual block selected, &quot;2x&quot; deletes a block of double the width,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;3y&quot; yanks a block of triple width, etc.<br>
7&nbsp;&nbsp; When selecting linewise, using &quot;itext&quot; should insert &quot;text&quot; at the start<br>
&nbsp;&nbsp;&nbsp;&nbsp;of each selected line.<br>
8&nbsp;&nbsp; What is &quot;R&quot; supposed to do in Visual mode?<br>
8&nbsp;&nbsp; Make Visual mode local to the buffer.&nbsp;&nbsp;Allow changing to another buffer.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When starting a new Visual selection, remove the Visual selection in any<br>
&nbsp;&nbsp;&nbsp;&nbsp;other buffer. (Ron Aaron)<br>
8&nbsp;&nbsp; Support dragging the Visual area to drop it somewhere else. (Ron Aaron,<br>
&nbsp;&nbsp;&nbsp;&nbsp;Ben Godfrey)<br>
7&nbsp;&nbsp; Support dragging the Visual area to drop it in another program, and<br>
&nbsp;&nbsp;&nbsp;&nbsp;receive dropped text from another program. (Ben Godfrey)<br>
7&nbsp;&nbsp; With blockwise Visual mode and &quot;c&quot;, &quot;C&quot;, &quot;I&quot;, &quot;A&quot;, etc., allow the use of<br>
&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;<span class="Special">&lt;CR&gt;</span>.&nbsp;&nbsp;The entered lines are repeated over the Visual area.<br>
7&nbsp;&nbsp; Filtering a block should only apply to the block, not to the whole lines.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When the number of lines is increased, add lines. When decreased, pad with<br>
&nbsp;&nbsp;&nbsp;&nbsp;spaces or delete? Use &quot;:<span class="Comment">&lt;,</span>&gt;&quot; on the command line.<br>
8&nbsp;&nbsp; After filtering the Visual area, make &quot;gv&quot; select the filtered text?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Currently &quot;gv&quot; only selects a single line, not useful.<br>
7&nbsp;&nbsp; Don't move the cursor when scrolling?&nbsp;&nbsp;Needed when the selection should<br>
&nbsp;&nbsp;&nbsp;&nbsp;stay the same.&nbsp;&nbsp;Scroll to the cursor at any movement command.&nbsp;&nbsp;With an<br>
&nbsp;&nbsp;&nbsp;&nbsp;option!<br>
7&nbsp;&nbsp; In Visual block mode, need to be able to define a corner on a position<br>
&nbsp;&nbsp;&nbsp;&nbsp;that doesn't have text?&nbsp;&nbsp;Also: when using the mouse, be able to select<br>
&nbsp;&nbsp;&nbsp;&nbsp;part of a TAB.&nbsp;&nbsp;Even more: Add a mode where the cursor can be on a screen<br>
&nbsp;&nbsp;&nbsp;&nbsp;position where there is no text.&nbsp;&nbsp;When typing, add spaces to fill the gap.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Other solution: Always use curswant, so that you can move the cursor to<br>
&nbsp;&nbsp;&nbsp;&nbsp;the right column, and then use up/down movements to select the line,<br>
&nbsp;&nbsp;&nbsp;&nbsp;without changing the column.<br>
6&nbsp;&nbsp; &quot;:left&quot; and &quot;:right&quot; should work in Visual block mode.<br>
7&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-I</span>&nbsp;and&nbsp;<span class="Special">CTRL-O</span>&nbsp;should work in Visual mode, but only jump to marks in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current buffer.<br>
6&nbsp;&nbsp; In non-Block mode, &quot;I&quot; should insert the same text in front of each line,<br>
&nbsp;&nbsp;&nbsp;&nbsp;before the first non-blank, &quot;gI&quot; in column 1.<br>
6&nbsp;&nbsp; In non-Block mode, &quot;A&quot; should append the same text after each line.<br>
6&nbsp;&nbsp; When in blockwise visual selection (<span class="Special">CTRL-V</span>), allow cursor to be placed<br>
&nbsp;&nbsp;&nbsp;&nbsp;right of the line.&nbsp;&nbsp;Could also allow cursor to be placed anywhere on a TAB<br>
&nbsp;&nbsp;&nbsp;&nbsp;or other special character.<br>
6&nbsp;&nbsp; Add commands to move selected text, without deselecting.<br>
<br>
<br>
More advanced repeating commands:<br>
-&nbsp;&nbsp; Add &quot;.&quot; command for visual mode: redo last visual command (e.g. &quot;:fmt&quot;).<br>
-&nbsp;&nbsp; Add command to repeat last movement.&nbsp;&nbsp;Including count.<br>
-&nbsp;&nbsp; Add &quot;.&quot; command after operator: repeat last command of same operator.&nbsp;&nbsp;E.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;c.&quot; will repeat last change, also when &quot;x&quot; used since then (Webb).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;y.&quot; will repeat last yank.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;c2.&quot; will repeat the last but one change?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: keep history of Normal mode commands, add command to list the history<br>
&nbsp;&nbsp;&nbsp;&nbsp;and/or pick an older command.<br>
-&nbsp;&nbsp; History stack for . command?&nbsp;&nbsp;Use &quot;g.&quot; command.<br>
<br>
<br>
Mappings and Abbreviations:<br>
8&nbsp;&nbsp; When &quot;0&quot; is mapped (it is a movement command) this mapping should not be<br>
&nbsp;&nbsp;&nbsp;&nbsp;used after typing another number, e.g. &quot;20l&quot;. (Charles Campbell)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Is this possible without disabling the mapping of the following command?<br>
8&nbsp;&nbsp; Should mapping&nbsp;<span class="Special">&lt;C-A&gt;</span>&nbsp;and&nbsp;<span class="Special">&lt;C-S-A&gt;</span>&nbsp;both work?<br>
7&nbsp;&nbsp; &quot;:abbr b byte&quot;, append &quot;b &quot; to an existing word still expands to &quot;byte&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This is Vi compatible, but can we avoid it anyway?<br>
8&nbsp;&nbsp; To make a mapping work with a prepended &quot;x to select a register, store the<br>
&nbsp;&nbsp;&nbsp;&nbsp;last _typed_ register name and access it with &quot;&amp;.<br>
8&nbsp;&nbsp; Add &quot;:amap&quot;, like &quot;:amenu&quot;.<br>
7&nbsp;&nbsp; Add a mapping that works always, for remapping the keyboard.<br>
8&nbsp;&nbsp; Add &quot;:cab!&quot;, abbreviations that only apply to Command-line mode and not to<br>
&nbsp;&nbsp;&nbsp;&nbsp;entering search strings.<br>
8&nbsp;&nbsp; Add a flag to &quot;:abbrev&quot; to eat the character that triggers the<br>
&nbsp;&nbsp;&nbsp;&nbsp;abbreviation.&nbsp;&nbsp;Thus &quot;abb ab xxx&quot; and typing &quot;ab<span class="Special">&lt;Space&gt;</span>&quot; inserts &quot;xxx&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;not the&nbsp;<span class="Special">&lt;Space&gt;</span>.<br>
8&nbsp;&nbsp; Give a warning when using&nbsp;<span class="Special">CTRL-C</span>&nbsp;in the lhs of a mapping.&nbsp;&nbsp;It will never<br>
&nbsp;&nbsp;&nbsp;&nbsp;(?) work.<br>
7&nbsp;&nbsp; Add&nbsp;<span class="Special">&lt;0x8f&gt;</span>&nbsp;(hex),&nbsp;<span class="Special">&lt;033&gt;</span>&nbsp;(octal) and&nbsp;<span class="Special">&lt;123&gt;</span>&nbsp;(decimal) to &lt;&gt; notation?<br>
7&nbsp;&nbsp; When someone tries to unmap with a trailing space, and it fails, try<br>
&nbsp;&nbsp;&nbsp;&nbsp;unmapping without the trailing space.&nbsp;&nbsp;Helps for &quot;:unmap xx | unmap yy&quot;.<br>
6&nbsp;&nbsp; Context-sensitive abbreviations: Specify syntax group(s) in which the<br>
&nbsp;&nbsp;&nbsp;&nbsp;abbreviations are to be used.<br>
-&nbsp;&nbsp; Add mappings that take arguments.&nbsp;&nbsp;Could work like the &quot;:s&quot; command.&nbsp;&nbsp;For<br>
&nbsp;&nbsp;&nbsp;&nbsp;example, for a mouse escape sequence:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:mapexp&nbsp;&nbsp;<span class="Special">&lt;Esc&gt;</span>{\([0-9]*\),\([0-9]*\);&nbsp;&nbsp; H\1j\2l<br>
-&nbsp;&nbsp; Add optional&nbsp;<span class="Special">&lt;Number&gt;</span>&nbsp;argument for mappings:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:map&nbsp;<span class="Special">&lt;Number&gt;</span>q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ^W^W<span class="Special">&lt;Number&gt;</span>G<br>
&nbsp;&nbsp;&nbsp;&nbsp;:map&nbsp;<span class="Special">&lt;Number&gt;</span>q<span class="Special">&lt;Number&gt;</span>t&nbsp;&nbsp;^W^W<span class="Special">&lt;Number1-1&gt;</span>G<span class="Special">&lt;Number2&gt;</span>l<br>
&nbsp;&nbsp;&nbsp;&nbsp;:map q<span class="Special">&lt;Char&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:s/<span class="Special">&lt;Char&gt;</span>/\u\0/g<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or implicit:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:map q&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;Register&gt;</span>d<span class="Special">&lt;Number&gt;</span>$<br>
-&nbsp;&nbsp; Add command to repeat a whole mapping (&quot;.&quot; only repeats the last change in<br>
&nbsp;&nbsp;&nbsp;&nbsp;a mapping).&nbsp;&nbsp;Also: Repeat a whole insert command, including any mappings<br>
&nbsp;&nbsp;&nbsp;&nbsp;that it included.&nbsp;&nbsp;Sort-of automatic recording?<br>
-&nbsp;&nbsp; Include an option (or flag to&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>) that makes errors in mappings<br>
&nbsp;&nbsp;&nbsp;&nbsp;not flush the rest of the mapping (like nvi does).<br>
-&nbsp;&nbsp; Use context sensitiveness of completion to switch abbreviations and<br>
&nbsp;&nbsp;&nbsp;&nbsp;mappings off for :unab and :unmap.<br>
6&nbsp;&nbsp; When using mappings in Insert mode, insert characters for incomplete<br>
&nbsp;&nbsp;&nbsp;&nbsp;mappings first, then remove them again when a mapping matches.&nbsp;&nbsp;Avoids<br>
&nbsp;&nbsp;&nbsp;&nbsp;that characters that are the start of some mapping are not shown until you<br>
&nbsp;&nbsp;&nbsp;&nbsp;hit another character.<br>
-&nbsp;&nbsp; Add mappings for replace mode: &quot;:rmap&quot;.&nbsp;&nbsp;How do we then enter mappings for<br>
&nbsp;&nbsp;&nbsp;&nbsp;non-replace Insert mode?<br>
-&nbsp;&nbsp; Add separate mappings for Visual-character/block/line mode?<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'mapstop'</span>&nbsp;command, to stop recursive mappings.<br>
-&nbsp;&nbsp; List mappings that have a raw escape sequence both with the name of the key<br>
&nbsp;&nbsp;&nbsp;&nbsp;for that escape sequence (if there is one) and the sequence itself.<br>
-&nbsp;&nbsp; List mappings: Once with special keys listed as &lt;&gt;, once with meta chars as<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">&lt;M-a&gt;</span>, once with the byte values (octal?).&nbsp;&nbsp;Sort of &quot;spell mapping&quot; command?<br>
-&nbsp;&nbsp; When entering mappings: Add the possibility to enter meta keys like they<br>
&nbsp;&nbsp;&nbsp;&nbsp;are displayed, within &lt;&gt;:&nbsp;<span class="Special">&lt;M-a&gt;</span>, &lt;~@&gt; or &lt;|a&gt;.<br>
-&nbsp;&nbsp; Allow multiple arguments to :unmap.<br>
-&nbsp;&nbsp; Command to show keys that are not used and available for mapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:freekeys&quot;.<br>
-&nbsp;&nbsp; Allow any character except white space in abbreviations lhs (Riehm).<br>
<br>
<br>
Incsearch:<br>
-&nbsp;&nbsp; Add a limit to the number of lines that are searched for&nbsp;<a class="Type" href="options.html#'incsearch'">'incsearch'</a>?<br>
-&nbsp;&nbsp; When no match is found and the user types more, the screen is redrawn<br>
&nbsp;&nbsp;&nbsp;&nbsp;anyway.&nbsp;&nbsp;Could skip that.&nbsp;&nbsp;Esp. if the line wraps and the text is scrolled<br>
&nbsp;&nbsp;&nbsp;&nbsp;up every time.<br>
-&nbsp;&nbsp; Temporarily open folds to show where the search ends up.&nbsp;&nbsp;Restore the<br>
&nbsp;&nbsp;&nbsp;&nbsp;folds when going to another line.<br>
-&nbsp;&nbsp; When incsearch used and hitting return, no need to search again in many<br>
&nbsp;&nbsp;&nbsp;&nbsp;cases, saves a lot of time in big files. (Slootman wants to work on this?)<br>
&nbsp;&nbsp;&nbsp;&nbsp;When not using special characters, can continue search from the last match<br>
&nbsp;&nbsp;&nbsp;&nbsp;(or not at all, when there was no match).&nbsp;&nbsp;See oldmail/webb/in.872.<br>
<br>
<br>
Searching:<br>
9&nbsp;&nbsp; Should have an option for :vimgrep to find lines without a match.<br>
8&nbsp;&nbsp; Add &quot;g/&quot; and &quot;gb&quot; to search for a pattern in the Visually selected text?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;g?&quot; is already used for rot13.<br>
&nbsp;&nbsp;&nbsp;&nbsp;The vis.vim script has a &quot;:S&quot; command that does something like this.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can use &quot;g/&quot; in Normal mode, uses the '&lt; to '&gt; area.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use &quot;&amp;/&quot; for searching the text in the Visual area?<br>
9&nbsp;&nbsp; Add &quot;v&quot; offset: &quot;/pat/v&quot;: search for pattern and start Visual mode on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;matching text.<br>
8&nbsp;&nbsp; Add a modifier to interpret a space like &quot;\_s\+&quot; to make it much easier to<br>
&nbsp;&nbsp;&nbsp;&nbsp;search for a phrase.<br>
8&nbsp;&nbsp; Add a mechanism for recursiveness: &quot;\@(([^()]*\@g[^()]*)\)&quot;.&nbsp;&nbsp;\@g stands<br>
&nbsp;&nbsp;&nbsp;&nbsp;for &quot;go recursive here&quot; and \@( \) marks the recursive part.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perl does it this way:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$paren = qr/ \(( [^()] | (??{ $paren }) )* \) /x;<br>
&nbsp;&nbsp;&nbsp;&nbsp;Here $paren is evaluated when it's encountered.&nbsp;&nbsp;This is like a regexp<br>
&nbsp;&nbsp;&nbsp;&nbsp;inside a regexp.&nbsp;&nbsp;In the above terms it would be:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\@((\([^()]\|\@g\)*)\)<br>
8&nbsp;&nbsp; Show the progress every second.&nbsp;&nbsp;Could use the code that checks for&nbsp;<span class="Special">CTRL-C</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;to find out how much time has passed.&nbsp;&nbsp;Or use SIGALRM.&nbsp;&nbsp;Where to show the<br>
&nbsp;&nbsp;&nbsp;&nbsp;number?<br>
7&nbsp;&nbsp; Support for approximate-regexps to find similar words (agrep<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.tgries.de/agrep/">http://www.tgries.de/agrep/</a></span>&nbsp;tre:&nbsp;<span class="Constant"><a href="http://laurikari.net/tre/index.html">http://laurikari.net/tre/index.html</a></span>).<br>
8&nbsp;&nbsp; Add an item for a big character range, so that one can search for a<br>
&nbsp;&nbsp;&nbsp;&nbsp;chinese character: \z[234-1234]&nbsp;&nbsp;or \z[XX-YY] or \z[0x23-0x234].<br>
7&nbsp;&nbsp; Add an item stack to allow matching ().&nbsp;&nbsp;One side is &quot;push X on<br>
&nbsp;&nbsp;&nbsp;&nbsp;the stack if previous atom matched&quot;.&nbsp;&nbsp;Other side is &quot;match with top of<br>
&nbsp;&nbsp;&nbsp;&nbsp;stack, pop it when it matches&quot;.&nbsp;&nbsp;Use &quot;\@pX&quot; and &quot;\@m&quot;?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Example: \((\@p).\<span class="Special">{-}</span>\@m\)*<br>
7&nbsp;&nbsp; Add a flag to &quot;/pat/&quot; to discard an error.&nbsp;&nbsp;Useful to continue a mapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;when a search fails.&nbsp;&nbsp;Could be &quot;/pat/E&quot; (e is already used for end offset).<br>
7&nbsp;&nbsp; Add pattern item to use properties of Unicode characters.&nbsp;&nbsp;In Perl it's<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;\p<span class="Special">{L}</span>&quot; for a letter.&nbsp;&nbsp;See Regular Expression Pocket Reference.<br>
8&nbsp;&nbsp; Would it be possible to allow &quot;:23,45/pat/flags&quot; to search for &quot;pat&quot; in<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines 23 to 45?&nbsp;&nbsp;Or does this conflict with Ex range syntax?<br>
8&nbsp;&nbsp; Allow identical pairs in&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>.&nbsp;&nbsp;Restrict the search to the current<br>
&nbsp;&nbsp;&nbsp;&nbsp;line.<br>
7&nbsp;&nbsp; Allow longer pairs in&nbsp;<a class="Type" href="options.html#'matchpairs'">'matchpairs'</a>.&nbsp;&nbsp;Use matchit.vim as an<br>
&nbsp;&nbsp;&nbsp;&nbsp;example.<br>
8&nbsp;&nbsp; Make it possible to define the character that &quot;%&quot; checks for in<br>
&nbsp;&nbsp;&nbsp;&nbsp;#if/#endif.&nbsp;&nbsp;For nmake it's !if/!endif.<br>
-&nbsp;&nbsp; For &quot;%&quot; command: set hierarchy for which things include other things that<br>
&nbsp;&nbsp;&nbsp;&nbsp;should be ignored (like &quot;*/&quot; or &quot;#endif&quot; inside /* */).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: use &quot;%&quot; to jump from start to end of syntax region and back.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: use matchit.vim<br>
8&nbsp;&nbsp; A pattern like &quot;\([^a]\+\)\+&quot; takes an awful long time.&nbsp;&nbsp;Recognize that<br>
&nbsp;&nbsp;&nbsp;&nbsp;the recursive &quot;\+&quot; is meaningless and optimize for it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This one is also very slow on &quot;/* some comment */&quot;: &quot;^\/\*\(.*[^/]\)*$&quot;.<br>
7&nbsp;&nbsp; Recognize &quot;[a-z]&quot;, &quot;[0-9]&quot;, etc. and replace them with the faster &quot;\l&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;\d&quot;.<br>
7&nbsp;&nbsp; Add a way to specify characters in&nbsp;<span class="Special">&lt;C-M&gt;</span>&nbsp;or&nbsp;<span class="Special">&lt;Key&gt;</span>&nbsp;form.&nbsp;&nbsp;Could be<br>
&nbsp;&nbsp;&nbsp;&nbsp;\%<span class="Special">&lt;C-M&gt;</span>.<br>
8&nbsp;&nbsp; Add an argument after &quot;:s/pat/str/&quot; for a range of matches.&nbsp;&nbsp;For example,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:s/pat/str/#3-4&quot; to replace only the third and fourth &quot;pat&quot; in a line.<br>
8&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;is changed the matches from&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;may change. (Benji<br>
&nbsp;&nbsp;&nbsp;&nbsp;Fisher)&nbsp;&nbsp;redraw if some options are set while&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;is set?<br>
8&nbsp;&nbsp; Add an option not to use&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;highlighting for &quot;:s&quot; and &quot;:g&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;commands. (Kahn)&nbsp;&nbsp;It would work like &quot;:noh&quot; is used after that command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: An extra flag to do this once, and a flag to keep the existing<br>
&nbsp;&nbsp;&nbsp;&nbsp;search pattern.<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'hlsearch'">'hlsearch'</a>&nbsp;a local/global option, so that it can be disabled in some<br>
&nbsp;&nbsp;&nbsp;&nbsp;of the windows.<br>
-&nbsp;&nbsp; Add \%h<span class="Special">{group-name}</span>; to search for a specific highlight group.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add \%s<span class="Special">{syntax-group}</span>; to search for a specific syntax group.<br>
-&nbsp;&nbsp; Support Perl regexp.&nbsp;&nbsp;Use PCRE (Perl Compatible RE) package. (Shade)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or translate the pattern to a Vim one.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Don't switch on with an option for typed commands/mappings/functions, it's<br>
&nbsp;&nbsp;&nbsp;&nbsp;too confusing.&nbsp;&nbsp;Use &quot;\@@&quot; in the pattern, to avoid incompatibilities.<br>
8&nbsp;&nbsp; Add a way to access the last substitute text, what is used for &quot;:s//~/&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can't use the ~ register, it's already used for drag &amp; drop.<br>
-&nbsp;&nbsp; Remember flags for backreferenced items, so that &quot;*&quot; can be used after it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Check with &quot;\(\S\)\1\<span class="Special">{3}</span>&quot;. (Hemmerling)<br>
8&nbsp;&nbsp; Flags that apply to the whole pattern.<br>
&nbsp;&nbsp;&nbsp;&nbsp;This works for all places where a regexp is used.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add &quot;\q&quot; to not store this pattern as the last search pattern?<br>
-&nbsp;&nbsp; Add flags to search command (also for &quot;:s&quot;?):<br>
&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;&nbsp; ignore case<br>
&nbsp;&nbsp;&nbsp;&nbsp;I&nbsp;&nbsp; use case<br>
&nbsp;&nbsp;&nbsp;&nbsp;p&nbsp;&nbsp; use Perl regexp syntax (or POSIX?)<br>
&nbsp;&nbsp;&nbsp;&nbsp;v&nbsp;&nbsp; use Vi regexp syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;&nbsp; forget pattern, don't keep it for &quot;n&quot; command<br>
&nbsp;&nbsp;&nbsp;&nbsp;F&nbsp;&nbsp; remember pattern, keep it for &quot;n&quot; command<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perl uses these too:<br>
&nbsp;&nbsp;&nbsp;&nbsp;e&nbsp;&nbsp; evaluate the right side as an expression (Perl only)<br>
&nbsp;&nbsp;&nbsp;&nbsp;m&nbsp;&nbsp; multiple line expression (we don't need it)<br>
&nbsp;&nbsp;&nbsp;&nbsp;o&nbsp;&nbsp; compile only once (Perl only)<br>
&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;&nbsp; single line expression (we don't need it)<br>
&nbsp;&nbsp;&nbsp;&nbsp;x&nbsp;&nbsp; extended regexp (we don't need it)<br>
&nbsp;&nbsp;&nbsp;&nbsp;When used after &quot;:g&quot; command, backslash needed to avoid confusion with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;following command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add&nbsp;<span class="MissingTag">'searchflags'</span>&nbsp;for default flags (replaces&nbsp;<a class="Type" href="options.html#'gdefault'">'gdefault'</a>).<br>
-&nbsp;&nbsp; Add command to display the last used substitute pattern and last used<br>
&nbsp;&nbsp;&nbsp;&nbsp;pattern. (Margo)&nbsp;&nbsp;Maybe make it accessible through a register (like &quot;/<br>
&nbsp;&nbsp;&nbsp;&nbsp;for search string)?<br>
7&nbsp;&nbsp; Use T-search algorithm, to speed up searching for strings without special<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters.&nbsp;&nbsp;See C't article, August 1997.<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'fuzzycase'</span>&nbsp;option, so that case doesn't matter, and '-' and '_' are<br>
&nbsp;&nbsp;&nbsp;&nbsp;equivalent (for Unix filenames).<br>
-&nbsp;&nbsp; Add 'v' flag to search command: enter Visual mode, with the matching text<br>
&nbsp;&nbsp;&nbsp;&nbsp;as Visual area. (variation on idea from Bertin)<br>
-&nbsp;&nbsp; Searching: &quot;/this//that/&quot; should find &quot;that&quot; after &quot;this&quot;.<br>
-&nbsp;&nbsp; Add global search commands: Instead of wrapping at the end of the buffer,<br>
&nbsp;&nbsp;&nbsp;&nbsp;they continue in another buffer.&nbsp;&nbsp;Use flag after search pattern:<br>
&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;&nbsp; for the next file in the argument list<br>
&nbsp;&nbsp;&nbsp;&nbsp;f&nbsp;&nbsp; for file in the buffer list<br>
&nbsp;&nbsp;&nbsp;&nbsp;w&nbsp;&nbsp; for file edited in a window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;e.g. &quot;/pat/f&quot;.&nbsp;&nbsp;Then &quot;n&quot; and &quot;<span class="Special">N</span>&quot; work through files too.&nbsp;&nbsp;&quot;f&quot; flag also for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:s/pat/foo/f&quot;???&nbsp;&nbsp;Then when&nbsp;<a class="Type" href="options.html#'autowrite'">'autowrite'</a>&nbsp;and&nbsp;<a class="Type" href="options.html#'hidden'">'hidden'</a>&nbsp;are both not set, ask<br>
&nbsp;&nbsp;&nbsp;&nbsp;before saving files: &quot;Save modified buffer &quot;/path/file&quot;? (Yes/Hide/No<br>
&nbsp;&nbsp;&nbsp;&nbsp;Save-all/hide-All/Quit) &quot;.<br>
-&nbsp;&nbsp; &quot;:s/pat/foo/3&quot;: find 3rd match of &quot;pat&quot;, like sed. (Thomas Koehler)<br>
7&nbsp;&nbsp; When searching with 'n' give message when getting back where the search<br>
&nbsp;&nbsp;&nbsp;&nbsp;first started.&nbsp;&nbsp;Remember start of search in '/ mark.<br>
7&nbsp;&nbsp; Add option that scrolls screen to put cursor in middle of screen after<br>
&nbsp;&nbsp;&nbsp;&nbsp;search always/when off-screen/never.&nbsp;&nbsp;And after a &quot;:tag&quot; command.&nbsp;&nbsp;Maybe<br>
&nbsp;&nbsp;&nbsp;&nbsp;specify how many lines below the screen causes a redraw with the cursor in<br>
&nbsp;&nbsp;&nbsp;&nbsp;the middle (default would be half a screen, zero means always).<br>
6&nbsp;&nbsp; Support multiple search buffers, so macros can be made without side<br>
&nbsp;&nbsp;&nbsp;&nbsp;effects.<br>
7&nbsp;&nbsp; From xvim: Allow a newline in search patterns (also for :s, can delete<br>
&nbsp;&nbsp;&nbsp;&nbsp;newline).&nbsp;&nbsp;Add BOW, EOW, NEWL, NLORANY, NLBUTANY, magic 'n' and 'r', etc.<br>
&nbsp;&nbsp;&nbsp;&nbsp;[not in xvim:] Add option to switch on matches crossing ONE line boundary.<br>
7&nbsp;&nbsp; Add &quot;:iselect&quot;, a combination of &quot;:ilist&quot; and &quot;:tselect&quot;. (Aaron) (Zellner)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also &quot;:dselect&quot;.<br>
<br>
<br>
Undo:<br>
9&nbsp;&nbsp; &quot;:gundo&quot; command: global undo.&nbsp;&nbsp;Undoes changes spread over multiple files<br>
&nbsp;&nbsp;&nbsp;&nbsp;in the order they were made.&nbsp;&nbsp;Also &quot;:gredo&quot;.&nbsp;&nbsp;Both with a count.&nbsp;&nbsp;Useful<br>
&nbsp;&nbsp;&nbsp;&nbsp;when tests fail after making changes and you forgot in which files.<br>
9&nbsp;&nbsp; After undo/redo, in the message show whether the buffer is modified or<br>
&nbsp;&nbsp;&nbsp;&nbsp;not.<br>
8&nbsp;&nbsp; Search for pattern in undo tree, showing when it happened and the text<br>
&nbsp;&nbsp;&nbsp;&nbsp;state, so that you can jump to it.<br>
8&nbsp;&nbsp; Undo tree: visually show the tree somehow (Damian Conway)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Show only the leaves, indicating how many changed from the branch and the<br>
&nbsp;&nbsp;&nbsp;&nbsp;timestamp?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Put branch with most recent change on the left, older changes get more<br>
&nbsp;&nbsp;&nbsp;&nbsp;indent?<br>
-&nbsp;&nbsp; Make it possible to undo all the commands from a mapping, including a<br>
&nbsp;&nbsp;&nbsp;&nbsp;trailing unfinished command, e.g. for &quot;:map K iX^[r&quot;.<br>
-&nbsp;&nbsp; When accidentally hitting &quot;R&quot; instead of Ctrl-R, further Ctrl-R is not<br>
&nbsp;&nbsp;&nbsp;&nbsp;possible, even when typing&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;immediately. (Grahn)&nbsp;&nbsp;Also for &quot;i&quot;, &quot;a&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;etc.&nbsp;&nbsp;Postpone saving for undo until something is really inserted?<br>
8&nbsp;&nbsp; When Inserting a lot of text, it can only be undone as a whole.&nbsp;&nbsp;Make undo<br>
&nbsp;&nbsp;&nbsp;&nbsp;sync points at every line or word.&nbsp;&nbsp;Could recognize the start of a new<br>
&nbsp;&nbsp;&nbsp;&nbsp;word (white space and then non-white space) and backspacing.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Can already use&nbsp;<span class="Special">CTRL-G</span>&nbsp;u, but that requires remapping a lot of things.<br>
8&nbsp;&nbsp; Make undo more memory-efficient: Compare text before and after change,<br>
&nbsp;&nbsp;&nbsp;&nbsp;only remember the lines that really changed.<br>
7&nbsp;&nbsp; Add undo for a range of lines.&nbsp;&nbsp;Can change these back to a previous<br>
&nbsp;&nbsp;&nbsp;&nbsp;version without changing the rest of the file.&nbsp;&nbsp;Stop doing this when a<br>
&nbsp;&nbsp;&nbsp;&nbsp;change includes only some of these lines and changes the line count.&nbsp;&nbsp;Need<br>
&nbsp;&nbsp;&nbsp;&nbsp;to store these undo actions as a separate change that can be undone.<br>
-&nbsp;&nbsp; For u_save() include the column number. This can be used to set '[ and '].<br>
&nbsp;&nbsp;&nbsp;&nbsp;And in the future the undo can be made more efficient (Webb).<br>
-&nbsp;&nbsp; In out-of-memory situations: Free allocated space in undo, and reduce the<br>
&nbsp;&nbsp;&nbsp;&nbsp;number of undo levels (with confirmation).<br>
-&nbsp;&nbsp; Instead of [+], give the number of changes since the last write: [+123].<br>
&nbsp;&nbsp;&nbsp;&nbsp;When undoing to before the last write, change this to a negative number:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">[-99]</span>.<br>
-&nbsp;&nbsp; With undo with simple line delete/insert: optimize screen updating.<br>
-&nbsp;&nbsp; When executing macro's: Save each line for undo only once.<br>
-&nbsp;&nbsp; When doing a global substitute, causing almost all lines to be changed,<br>
&nbsp;&nbsp;&nbsp;&nbsp;undo info becomes very big.&nbsp;&nbsp;Put undo info in swap file??<br>
<br>
<br>
Buffer list:<br>
7&nbsp;&nbsp; Command to execute a command in another buffer: &quot;:inbuf&nbsp;<span class="Special">{bufname}</span>&nbsp;<span class="Special">{cmd}</span>&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also for other windows: &quot;:inwin&nbsp;<span class="Special">{winnr}</span>&nbsp;<span class="Special">{cmd}</span>&quot;.&nbsp;&nbsp;How to make sure that<br>
&nbsp;&nbsp;&nbsp;&nbsp;this works properly for all commands, and still be able to return to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current buffer/window?&nbsp;&nbsp;E.g.: &quot;:inbuf xxx only&quot;.<br>
8&nbsp;&nbsp; Add File.{recent_files} menu entries: Recently edited files.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Ron Aaron has a plugin for this: mru.vim.<br>
8&nbsp;&nbsp; Unix: Check all uses of fnamecmp() and fnamencmp() if they should check<br>
&nbsp;&nbsp;&nbsp;&nbsp;inode too.<br>
7&nbsp;&nbsp; Add another number for a buffer, which is visible for the user.&nbsp;&nbsp;When<br>
&nbsp;&nbsp;&nbsp;&nbsp;creating a new buffer, use the lowest number not in use (or the highest<br>
&nbsp;&nbsp;&nbsp;&nbsp;number in use plus one?).<br>
7&nbsp;&nbsp; Offer some buffer selection from the command line?&nbsp;&nbsp;Like using &quot;:ls&quot; and<br>
&nbsp;&nbsp;&nbsp;&nbsp;asking for a buffer number. (Zachmann)<br>
-&nbsp;&nbsp; When starting to edit a file that is already in the buffer list, use the<br>
&nbsp;&nbsp;&nbsp;&nbsp;file name argument for the new short file name. (Webb)<br>
-&nbsp;&nbsp; Add an option to make &quot;:bnext&quot; and &quot;:bprev&quot; wrap around the end of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer list.&nbsp;&nbsp;Also for &quot;:next&quot; and &quot;:prev&quot;?<br>
7&nbsp;&nbsp; Add argument to &quot;:ls&quot; which is a pattern for buffers to list.<br>
&nbsp;&nbsp;&nbsp;&nbsp;E.g. &quot;:ls *.c&quot;. (Thompson)<br>
7&nbsp;&nbsp; Add expansion of buffer names, so that &quot;*.c&quot; is expanded to all buffer<br>
&nbsp;&nbsp;&nbsp;&nbsp;names.&nbsp;&nbsp;Needed for &quot;:bdel *.c&quot;, &quot;:bunload *.c&quot;, etc.<br>
8&nbsp;&nbsp; Support for&nbsp;<span class="Special">&lt;afile&gt;</span>&nbsp;where a buffer name is expected.<br>
7&nbsp;&nbsp; Add an option to mostly use slashes in file names.&nbsp;&nbsp;Separately for<br>
&nbsp;&nbsp;&nbsp;&nbsp;internal use and for when executing an external program?<br>
8&nbsp;&nbsp; Some file systems are case-sensitive, some are not.&nbsp;&nbsp;Besides<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'wildignorecase'">'wildignorecase'</a>&nbsp;there might be more parts inside<br>
&nbsp;&nbsp;&nbsp;&nbsp;CASE_INSENSITIVE_FILENAME that are useful on Unix.<br>
<br>
<br>
Swap (.swp) files:<br>
8&nbsp;&nbsp; If writing to the swap file fails, should try to open one in another<br>
&nbsp;&nbsp;&nbsp;&nbsp;directory from&nbsp;<a class="Type" href="options.html#'dir'">'dir'</a>.&nbsp;&nbsp;Useful in case the file system is full and when<br>
&nbsp;&nbsp;&nbsp;&nbsp;there are short file name problems.<br>
8&nbsp;&nbsp; Also use the code to try using a short file name for the backup and swap<br>
&nbsp;&nbsp;&nbsp;&nbsp;file for the Win32 and Dos 32 bit versions.<br>
8&nbsp;&nbsp; When a file is edited by root, add $LOGNAME to know who did su.<br>
8&nbsp;&nbsp; When the edited file is a symlink, try to put the swap file in the same<br>
&nbsp;&nbsp;&nbsp;&nbsp;dir as the actual file.&nbsp;&nbsp;Adjust FullName().&nbsp;&nbsp;Avoids editing the same file<br>
&nbsp;&nbsp;&nbsp;&nbsp;twice (e.g. when using quickfix).&nbsp;&nbsp;Also try to make the name of the backup<br>
&nbsp;&nbsp;&nbsp;&nbsp;file the same as the actual file?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use the code for resolve()?<br>
7&nbsp;&nbsp; When using 64 bit inode numbers, also store the top 32 bits.&nbsp;&nbsp;Add another<br>
&nbsp;&nbsp;&nbsp;&nbsp;field for this, using part of bo_fname[], to keep it compatible.<br>
7&nbsp;&nbsp; When editing a file on removable media, should put swap file somewhere<br>
&nbsp;&nbsp;&nbsp;&nbsp;else.&nbsp;&nbsp;Use something like 'r' flag in&nbsp;<a class="Type" href="options.html#'viminfo'">'viminfo'</a>.&nbsp;&nbsp;<span class="MissingTag">'diravoid'</span>?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: Be able to specify minimum disk space, skip directory when not<br>
&nbsp;&nbsp;&nbsp;&nbsp;enough room.<br>
7&nbsp;&nbsp; Add a configure check for which directory should be used: /tmp, /var/tmp<br>
&nbsp;&nbsp;&nbsp;&nbsp;or /var/preserve.<br>
-&nbsp;&nbsp; Add an option to create a swap file only when making the first change to<br>
&nbsp;&nbsp;&nbsp;&nbsp;the buffer.&nbsp;&nbsp;(Liang)&nbsp;&nbsp;Or only when the buffer is not read-only.<br>
-&nbsp;&nbsp; Add option to set &quot;umask&quot; for backup files and swap files (Antwerpen).<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="MissingTag">'backupumask'</span>&nbsp;and&nbsp;<span class="MissingTag">'swapumask'</span>?&nbsp;&nbsp;Or&nbsp;<span class="MissingTag">'umaskback'</span>&nbsp;and&nbsp;<span class="MissingTag">'umaskswap'</span>?<br>
-&nbsp;&nbsp; When editing a readonly file, don't use a swap file but read parts from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;original file.&nbsp;&nbsp;Also do this when the file is huge (&gt;<a class="Type" href="options.html#'maxmem'">'maxmem'</a>).&nbsp;&nbsp;We do<br>
&nbsp;&nbsp;&nbsp;&nbsp;need to load the file once to count the number of lines?&nbsp;&nbsp;Perhaps keep a<br>
&nbsp;&nbsp;&nbsp;&nbsp;cached list of which line is where.<br>
<br>
<br>
Viminfo:<br>
7&nbsp;&nbsp; Can probably remove the code that checks for a writable viminfo file,<br>
&nbsp;&nbsp;&nbsp;&nbsp;because we now do the chown() for root, and others can't overwrite someone<br>
&nbsp;&nbsp;&nbsp;&nbsp;else's viminfo file.<br>
8&nbsp;&nbsp; When there is no .viminfo file and someone does &quot;su&quot;, runs Vim, a<br>
&nbsp;&nbsp;&nbsp;&nbsp;root-owned .viminfo file is created.&nbsp;&nbsp;Is there a good way to avoid this?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps check the owner of the directory.&nbsp;&nbsp;Only when root?<br>
8&nbsp;&nbsp; Add argument to keep the list of buffers when Vim is started with a file<br>
&nbsp;&nbsp;&nbsp;&nbsp;name. (Schild)<br>
8&nbsp;&nbsp; Keep the last used directory of the file browser (File/Open menu).<br>
8&nbsp;&nbsp; Remember the last used register for &quot;@@&quot;.<br>
8&nbsp;&nbsp; Remember the redo buffer, so that &quot;.&quot; works after restarting.<br>
8&nbsp;&nbsp; Remember a list of last accessed files.&nbsp;&nbsp;To be used in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;File.Open Recent&quot; menu.&nbsp;&nbsp;Default is to remember 10 files or so.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also remember which files have been read and written.&nbsp;&nbsp;How to display<br>
&nbsp;&nbsp;&nbsp;&nbsp;this?<br>
7&nbsp;&nbsp; Also store the &quot;. register (last inserted text).<br>
7&nbsp;&nbsp; Make it possible to store buffer names in viminfo file relative to some<br>
&nbsp;&nbsp;&nbsp;&nbsp;directory, to make them portable over a network. (Aaron)<br>
6&nbsp;&nbsp; Store a snapshot of the currently opened windows.&nbsp;&nbsp;So that when quitting<br>
&nbsp;&nbsp;&nbsp;&nbsp;Vim, and then starting again (without a file name argument), you see the<br>
&nbsp;&nbsp;&nbsp;&nbsp;same files in the windows.&nbsp;&nbsp;Use &quot;:mksession&quot; code?<br>
-&nbsp;&nbsp; Make marks present in .viminfo usable as file marks: Display a list of<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;last visited files&quot; and select one to jump to.<br>
<br>
<br>
Modelines:<br>
8&nbsp;&nbsp; Before trying to execute a modeline, check that it looks like one (valid<br>
&nbsp;&nbsp;&nbsp;&nbsp;option names).&nbsp;&nbsp;If it's very wrong, silently ignore it.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Ignore a line that starts with &quot;Subject: &quot;.<br>
-&nbsp;&nbsp; Add an option to whitelist options that are allowed in a modeline.&nbsp;&nbsp;This<br>
&nbsp;&nbsp;&nbsp;&nbsp;would allow careful users to use modelines, e.g., only allowing<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'shiftwidth'">'shiftwidth'</a>.<br>
-&nbsp;&nbsp; Add an option to let modelines only set local options, not global ones<br>
&nbsp;&nbsp;&nbsp;&nbsp;such as&nbsp;<a class="Type" href="options.html#'encoding'">'encoding'</a>.<br>
-&nbsp;&nbsp; When an option value is coming from a modeline, do not carry it over to<br>
&nbsp;&nbsp;&nbsp;&nbsp;another edited file?&nbsp;&nbsp;Would need to remember the value from before the<br>
&nbsp;&nbsp;&nbsp;&nbsp;modeline setting.<br>
-&nbsp;&nbsp; Allow setting a variable from a modeline?&nbsp;&nbsp;Only allow using fixed strings,<br>
&nbsp;&nbsp;&nbsp;&nbsp;no function calls, to avoid a security problem.<br>
-&nbsp;&nbsp; Allow &quot;:doauto BufRead x.cpp&quot; in modelines, to execute autocommands for<br>
&nbsp;&nbsp;&nbsp;&nbsp;.cpp files.<br>
-&nbsp;&nbsp; Support the &quot;abbreviate&quot; command in modelines (Kearns).&nbsp;&nbsp;Careful for<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters after&nbsp;<span class="Special">&lt;Esc&gt;</span>, that is a security leak.<br>
-&nbsp;&nbsp; Add option setting to ask user if he wants to have the modelines executed<br>
&nbsp;&nbsp;&nbsp;&nbsp;or not.&nbsp;&nbsp;Same for .exrc in local dir.<br>
<br>
<br>
Sessions:<br>
8&nbsp;&nbsp; DOS/Windows: &quot;:mksession&quot; generates a &quot;cd&quot; command where &quot;aa\#bb&quot; means<br>
&nbsp;&nbsp;&nbsp;&nbsp;directory &quot;#bb&quot; in &quot;aa&quot;, but it's used as &quot;aa#bb&quot;. (Ronald Hoellwarth)<br>
7&nbsp;&nbsp; When there is a &quot;help.txt&quot; window in a session file, restoring that<br>
&nbsp;&nbsp;&nbsp;&nbsp;session will not get the &quot;LOCAL ADDITIONS&quot; back.<br>
8&nbsp;&nbsp; With &quot;:mksession&quot; always store the&nbsp;<a class="Type" href="options.html#'sessionoptions'">'sessionoptions'</a>&nbsp;option, even when<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;options&quot; isn't in it. (St-Amant)<br>
8&nbsp;&nbsp; When using &quot;:mksession&quot;, also store a command to reset all options to<br>
&nbsp;&nbsp;&nbsp;&nbsp;their default value, before setting the options that are not at their<br>
&nbsp;&nbsp;&nbsp;&nbsp;default value.<br>
7&nbsp;&nbsp; With &quot;:mksession&quot; also store the tag stack and jump history. (Michal<br>
&nbsp;&nbsp;&nbsp;&nbsp;Malecki)<br>
7&nbsp;&nbsp; Persistent variables: &quot;p:var&quot;; stored in viminfo file and sessions files.<br>
<br>
<br>
Options:<br>
7&nbsp;&nbsp; &quot;:with option=value | command&quot;: temporarily set an option value and<br>
&nbsp;&nbsp;&nbsp;&nbsp;restore it after the command has executed.<br>
8&nbsp;&nbsp; Make &quot;old&quot; number options that really give a number of effects into string<br>
&nbsp;&nbsp;&nbsp;&nbsp;options that are a comma separated list.&nbsp;&nbsp;The old number values should<br>
&nbsp;&nbsp;&nbsp;&nbsp;also be supported.<br>
8&nbsp;&nbsp; Add commands to save and restore an option, which also preserves the flag<br>
&nbsp;&nbsp;&nbsp;&nbsp;that marks if the option was set.&nbsp;&nbsp;Useful to keep the effect of setting<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'compatible'">'compatible'</a>&nbsp;after &quot;:syntax on&quot; has been used.<br>
7&nbsp;&nbsp; There is&nbsp;<a class="Type" href="options.html#'titleold'">'titleold'</a>, why is there no&nbsp;<span class="MissingTag">'iconold'</span>? (Chazelas)<br>
7&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'scrolloff'">'scrolloff'</a>&nbsp;a global-local option, so that it can be different in the<br>
&nbsp;&nbsp;&nbsp;&nbsp;quickfix window, for example. (Gary Holloway)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also do&nbsp;<a class="Type" href="options.html#'sidescrolloff'">'sidescrolloff'</a>.<br>
<br>
<br>
External commands:<br>
8&nbsp;&nbsp; When filtering text, redirect stderr so that it can't mess up the screen<br>
&nbsp;&nbsp;&nbsp;&nbsp;and Vim doesn't need to redraw it.&nbsp;&nbsp;Also for &quot;:r !cmd&quot;.<br>
4&nbsp;&nbsp; Set separate shell for &quot;:sh&quot;, piping &quot;range!filter&quot;, reading text &quot;r !ls&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;and writing text &quot;w !wc&quot;. (Deutsche)&nbsp;&nbsp;Allow arguments for fast start (e.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;-f).<br>
4&nbsp;&nbsp; Allow direct execution, without using a shell.<br>
4&nbsp;&nbsp; Run an external command in the background.&nbsp;&nbsp;But how about I/O in the GUI?<br>
&nbsp;&nbsp;&nbsp;&nbsp;Careful: don't turn Vim into a shell!<br>
4&nbsp;&nbsp; Add feature to disable using a shell or external commands.<br>
<br>
<br>
Multiple Windows:<br>
7&nbsp;&nbsp; &quot;vim -oO file ...&quot; use both horizontal and vertical splits.<br>
8&nbsp;&nbsp; Add&nbsp;<span class="Special">CTRL-W</span>&nbsp;T: go to the top window in the column of the current window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;<span class="Special">CTRL-W</span>&nbsp;B: go to bottom window.<br>
7&nbsp;&nbsp; Use&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">&lt;Tab&gt;</span>, like alt-tab, to switch between buffers.&nbsp;&nbsp;Repeat&nbsp;<span class="Special">&lt;Tab&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;to select another buffer (only loaded ones?),&nbsp;<span class="Special">&lt;BS&gt;</span>&nbsp;to go back,&nbsp;<span class="Special">&lt;Enter&gt;</span>&nbsp;to<br>
&nbsp;&nbsp;&nbsp;&nbsp;select buffer,&nbsp;<span class="Special">&lt;Esc&gt;</span>&nbsp;to go back to original buffer.<br>
7&nbsp;&nbsp; Make it possible to edit a new buffer in the preview window.&nbsp;&nbsp;A script can<br>
&nbsp;&nbsp;&nbsp;&nbsp;then fill it with something.&nbsp;&nbsp;&quot;:popen&quot;?<br>
7&nbsp;&nbsp; Add a&nbsp;<span class="MissingTag">'tool'</span>&nbsp;window: behaves like a preview window but there can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;several.&nbsp;&nbsp;Don't count it in only_one_window(). (Alexei Alexandrov)<br>
6&nbsp;&nbsp; Add an option to resize the shell when splitting and/or closing a window.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:vsp&quot; would make the shell wider by as many columns as needed for the new<br>
&nbsp;&nbsp;&nbsp;&nbsp;window.&nbsp;&nbsp;Specify a maximum size (or use the screen size).&nbsp;&nbsp;&quot;:close&quot; would<br>
&nbsp;&nbsp;&nbsp;&nbsp;shrink the shell by as many columns as come available. (Demirel)<br>
7&nbsp;&nbsp; When starting Vim several times, instantiate a Vim server, that allows<br>
&nbsp;&nbsp;&nbsp;&nbsp;communication between the different Vims.&nbsp;&nbsp;Feels like one Vim running with<br>
&nbsp;&nbsp;&nbsp;&nbsp;multiple top-level windows.&nbsp;&nbsp;Esp. useful when Vim is started from an IDE<br>
&nbsp;&nbsp;&nbsp;&nbsp;too.&nbsp;&nbsp;Requires some form of inter process communication.<br>
-&nbsp;&nbsp; Support a connection to an external viewer.&nbsp;&nbsp;Could call the viewer<br>
&nbsp;&nbsp;&nbsp;&nbsp;automatically after some seconds of non-activity, or with a command.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Allow some way of reporting scrolling and cursor positioning in the viewer<br>
&nbsp;&nbsp;&nbsp;&nbsp;to Vim, so that the link between the viewed and edited text can be made.<br>
<br>
<br>
Marks:<br>
8&nbsp;&nbsp; Add ten marks for last changed files: ':0, ':1, etc.&nbsp;&nbsp;One mark per file.<br>
8&nbsp;&nbsp; When cursor is first moved because of scrolling, set a mark at this<br>
&nbsp;&nbsp;&nbsp;&nbsp;position.&nbsp;&nbsp;(Rimon Barr)&nbsp;&nbsp;Use '-.<br>
8&nbsp;&nbsp; Add a command to jump to a mark and make the motion inclusive.&nbsp;&nbsp;g'm and g`m?<br>
8&nbsp;&nbsp; The '&quot; mark is set to the first line, even when doing &quot;:next&quot; a few times.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Only set the '&quot; mark when the cursor was really moved in a file.<br>
8&nbsp;&nbsp; Make `` and '', which would position the new cursor position in the middle<br>
&nbsp;&nbsp;&nbsp;&nbsp;of the window, restore the old topline (or relative position) from when<br>
&nbsp;&nbsp;&nbsp;&nbsp;the mark was set.<br>
7&nbsp;&nbsp; Make a list of file marks in a separate window.&nbsp;&nbsp;For listing all buffers,<br>
&nbsp;&nbsp;&nbsp;&nbsp;matching tags, errors, etc.&nbsp;&nbsp;Normal commands to move around.&nbsp;&nbsp;Add commands<br>
&nbsp;&nbsp;&nbsp;&nbsp;to jump to the mark (in current window or new window).&nbsp;&nbsp;Start it with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:browse marks&quot;?<br>
6&nbsp;&nbsp; Add a menu that lists the Marks like &quot;:marks&quot;. (Amerige)<br>
7&nbsp;&nbsp; For &quot;:jumps&quot;, &quot;:tags&quot; and &quot;:marks&quot;, for not loaded buffers, remember the<br>
&nbsp;&nbsp;&nbsp;&nbsp;text at the mark.&nbsp;&nbsp;Highlight the column with the mark.<br>
7&nbsp;&nbsp; Highlight each mark in some way (With &quot;Mark&quot; highlight group).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or display marks in a separate column, like&nbsp;<a class="Type" href="options.html#'number'">'number'</a>&nbsp;does.<br>
7&nbsp;&nbsp; Use d&quot;m to delete rectangular area from cursor to mark m (like Vile's \m<br>
&nbsp;&nbsp;&nbsp;&nbsp;command).<br>
7&nbsp;&nbsp; Try to keep marks in the same position when:<br>
&nbsp;&nbsp;&nbsp;&nbsp;- replacing with a line break, like in &quot;:s/pat/^M/&quot;, move marks after the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line break column to the next line. (Acevedo)<br>
&nbsp;&nbsp;&nbsp;&nbsp;- inserting/deleting characters in a line.<br>
5&nbsp;&nbsp; Include marks for start/end of the current word and section.&nbsp;&nbsp;Useful in<br>
&nbsp;&nbsp;&nbsp;&nbsp;mappings.<br>
6&nbsp;&nbsp; Add &quot;unnamed mark&quot; feature: Like marks for the &quot;:g&quot; command, but place and<br>
&nbsp;&nbsp;&nbsp;&nbsp;unplace them with commands before doing something with the lines.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Highlight the marked lines somehow.<br>
<br>
<br>
Digraphs:<br>
7&nbsp;&nbsp; Make &quot;ga&quot; show the keymap for a character, if it exists.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also show the code of the character after conversion to&nbsp;<a class="Type" href="options.html#'fileencoding'">'fileencoding'</a>.<br>
-&nbsp;&nbsp; Use digraph table to tell Vim about the collating sequence of special<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters?<br>
8&nbsp;&nbsp; Add command to remove one or more (all) digraphs. (Brown)<br>
7&nbsp;&nbsp; Support different sets of digraphs (depending on the character set?).&nbsp;&nbsp;At<br>
&nbsp;&nbsp;&nbsp;&nbsp;least Latin1/Unicode, Latin-2, MS-DOS (esp. for Win32).<br>
<br>
<br>
Writing files:<br>
-&nbsp;&nbsp; In vim_rename(), should lock &quot;from&quot; file when deleting &quot;to&quot; file for<br>
&nbsp;&nbsp;&nbsp;&nbsp;systems other than Amiga.&nbsp;&nbsp;Avoids problems with unexpected longname to<br>
&nbsp;&nbsp;&nbsp;&nbsp;shortname conversion.<br>
8&nbsp;&nbsp; write mch_isdevice() for Amiga, Mac, VMS, etc.<br>
8&nbsp;&nbsp; When appending to a file, Vim should also make a backup and a&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;file.<br>
8&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'backupskip'">'backupskip'</a>&nbsp;doesn't write a backup file at all, a bit dangerous for some<br>
&nbsp;&nbsp;&nbsp;&nbsp;applications.&nbsp;&nbsp;Add&nbsp;<span class="MissingTag">'backupelsewhere'</span>&nbsp;to write a backup file in another<br>
&nbsp;&nbsp;&nbsp;&nbsp;directory?&nbsp;&nbsp;Or add a flag to&nbsp;<a class="Type" href="options.html#'backupdir'">'backupdir'</a>?<br>
6&nbsp;&nbsp; Add an option to write a new, numbered, backup file each time.&nbsp;&nbsp;Like<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a>, e.g.,&nbsp;<span class="MissingTag">'backupmode'</span>.<br>
6&nbsp;&nbsp; Make it possible to write&nbsp;<a class="Type" href="options.html#'patchmode'">'patchmode'</a>&nbsp;files to a different directory.<br>
&nbsp;&nbsp;&nbsp;&nbsp;E.g., &quot;:set patchmode=~/backups/*.orig&quot;. (Thomas)<br>
6&nbsp;&nbsp; Add an option to prepend something to the backup file name.&nbsp;&nbsp;E.g., &quot;#&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Or maybe allow a function to modify the backup file name?<br>
8&nbsp;&nbsp; Only make a backup when overwriting a file for the first time.&nbsp;&nbsp;Avoids<br>
&nbsp;&nbsp;&nbsp;&nbsp;losing the original when writing twice. (Slootman)<br>
7&nbsp;&nbsp; On non-Unix machines, also overwrite the original file in some situations<br>
&nbsp;&nbsp;&nbsp;&nbsp;(file system full, it's a link on an NFS partition).<br>
7&nbsp;&nbsp; When editing a file, check that it has been change outside of Vim more<br>
&nbsp;&nbsp;&nbsp;&nbsp;often, not only when writing over it.&nbsp;&nbsp;E.g., at the time the swap file is<br>
&nbsp;&nbsp;&nbsp;&nbsp;flushed.&nbsp;&nbsp;Or every ten seconds or so (use the time of day, check it before<br>
&nbsp;&nbsp;&nbsp;&nbsp;waiting for a character to be typed).<br>
8&nbsp;&nbsp; When a file was changed since editing started, show this in the status<br>
&nbsp;&nbsp;&nbsp;&nbsp;line of the window, like &quot;[time]&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Make it easier to reload all outdated files that don't have changes.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Automatic and/or with a command.<br>
<br>
<br>
Substitute:<br>
8&nbsp;&nbsp; Substitute with hex/unicode number &quot;\%xff&quot; and &quot;\%uabcd&quot;.&nbsp;&nbsp;Just like<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;\%uabcd&quot; in search pattern.<br>
8&nbsp;&nbsp; Make it easier to replace in all files in the argument list.&nbsp;&nbsp;E.g.:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:argsub/oldword/newword/&quot;.&nbsp;&nbsp;Works like &quot;:argdo %s/oldword/newword/g|w&quot;.<br>
-&nbsp;&nbsp; :s///p prints the line after a substitution.<br>
-&nbsp;&nbsp; With :s///c replace \&amp;, ~, etc. when showing the replacement pattern.<br>
8&nbsp;&nbsp; With :s///c allow scrolling horizontally when&nbsp;<a class="Type" href="options.html#'nowrap'">'nowrap'</a>&nbsp;is effective.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also allow a count before the scrolling keys.<br>
-&nbsp;&nbsp; Add number option to &quot;:s//2&quot;: replace second occurrence of string?&nbsp;&nbsp;Or:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:s///<span class="Special">N</span>&nbsp;substitutes&nbsp;<span class="Special">N</span>&nbsp;times.<br>
-&nbsp;&nbsp; Add answers to &quot;:substitute&quot; with 'c' flag, used in a &quot;:global&quot;, e.g.:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:g/pat1/s/pat2/pat3/cg&quot;: 'A' do all remaining replacements, 'Q' don't do<br>
&nbsp;&nbsp;&nbsp;&nbsp;any replacements, 'u' undo last substitution.<br>
7&nbsp;&nbsp; Substitute in a block of text.&nbsp;&nbsp;Use&nbsp;<span class="Special">{line}</span>.<span class="Special">{column}</span>&nbsp;notation in an Ex<br>
&nbsp;&nbsp;&nbsp;&nbsp;range, e.g.: &quot;:1.3,$.5s&quot; means to substitute from line 1 column 3 to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;last line column 5.<br>
5&nbsp;&nbsp; Add commands to bookmark lines, display bookmarks, remove bookmarks,<br>
&nbsp;&nbsp;&nbsp;&nbsp;operate on lines with bookmarks, etc.&nbsp;&nbsp;Like &quot;:global&quot; but with the<br>
&nbsp;&nbsp;&nbsp;&nbsp;possibility to keep the bookmarks and use them with several commands.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Stanislav Sitar)<br>
<br>
<br>
Mouse support:<br>
8&nbsp;&nbsp; Add 'o' flag to&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>?<br>
7&nbsp;&nbsp; Be able to set a&nbsp;<a class="Type" href="options.html#'mouseshape'">'mouseshape'</a>&nbsp;for the popup menu.<br>
8&nbsp;&nbsp; Add&nbsp;<a class="Type" href="options.html#'mouse'">'mouse'</a>&nbsp;flag, which sets a behavior like Visual mode, but automatic<br>
&nbsp;&nbsp;&nbsp;&nbsp;yanking at the button-up event.&nbsp;&nbsp;Or like Select mode, but typing gets you<br>
&nbsp;&nbsp;&nbsp;&nbsp;out of Select mode, instead of replacing the text. (Bhaskar)<br>
-&nbsp;&nbsp; Implement mouse support for the Amiga console.<br>
-&nbsp;&nbsp; Using right mouse button to extend a blockwise selection should attach to<br>
&nbsp;&nbsp;&nbsp;&nbsp;the nearest corner of the rectangle (four possible corners).<br>
-&nbsp;&nbsp; Precede mouse click by a number to simulate double clicks?!?<br>
-&nbsp;&nbsp; When mouse click after 'r' command, get character that was pointed to.<br>
<br>
<br>
Argument list:<br>
6&nbsp;&nbsp; Add command to put all filenames from the tag files in the argument list.<br>
&nbsp;&nbsp;&nbsp;&nbsp;When given an argument, only use the files where that argument matches<br>
&nbsp;&nbsp;&nbsp;&nbsp;(like&nbsp;<span class="Comment">grep -l ident</span>) and jump to the first match.<br>
6&nbsp;&nbsp; Add command to form an args list from all the buffers?<br>
<br>
<br>
Registers:<br>
8&nbsp;&nbsp; Don't display empty registers with &quot;:display&quot;. (Etienne)<br>
8&nbsp;&nbsp; Add put command that overwrites existing text.&nbsp;&nbsp;Should also work for<br>
&nbsp;&nbsp;&nbsp;&nbsp;blocks.&nbsp;&nbsp;Useful to move text around in a table.&nbsp;&nbsp;Works like using &quot;R ^R r&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;for every line.<br>
6&nbsp;&nbsp; When yanking into the unnamed registers several times, somehow make the<br>
&nbsp;&nbsp;&nbsp;&nbsp;previous contents also available (like it's done for deleting).&nbsp;&nbsp;What<br>
&nbsp;&nbsp;&nbsp;&nbsp;register names to use?&nbsp;&nbsp;g&quot;1, g&quot;2, etc.?<br>
-&nbsp;&nbsp; When appending to a register, also report the total resulting number of<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines.&nbsp;&nbsp;Or just say &quot;99 more lines yanked&quot;, add the &quot;more&quot;.<br>
-&nbsp;&nbsp; When inserting a register in Insert mode with&nbsp;<span class="Special">CTRL-R</span>, don't insert comment<br>
&nbsp;&nbsp;&nbsp;&nbsp;leader when line wraps?<br>
-&nbsp;&nbsp; The &quot;:@r&quot; commands should take a range and execute the register for each<br>
&nbsp;&nbsp;&nbsp;&nbsp;line in the range.<br>
-&nbsp;&nbsp; Add &quot;P&quot; command to insert contents of unnamed register, move selected text<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to position of previous deleted (to swap foo and bar in &quot; + foo&quot;)<br>
8&nbsp;&nbsp; Should be able to yank and delete into the &quot;/ register.<br>
&nbsp;&nbsp;&nbsp;&nbsp;How to take care of the flags (offset, magic)?<br>
<br>
<br>
Debug mode:<br>
8&nbsp;&nbsp; Add breakpoints for setting an option<br>
8&nbsp;&nbsp; Add breakpoints for assigning to a variable.<br>
7&nbsp;&nbsp; Store the history from debug mode in viminfo.<br>
7&nbsp;&nbsp; Make the debug mode history available with histget() et al.<br>
<br>
<br>
Various improvements:<br>
7&nbsp;&nbsp; Add plugins for formatting?&nbsp;&nbsp;Should be able to make a choice depending on<br>
&nbsp;&nbsp;&nbsp;&nbsp;the language of a file (English/Korean/Japanese/etc.).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Setting the&nbsp;<span class="MissingTag">'langformat'</span>&nbsp;option to &quot;chinese&quot; would load the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;format/chinese.vim&quot; plugin.<br>
&nbsp;&nbsp;&nbsp;&nbsp;The plugin would set&nbsp;<a class="Type" href="options.html#'formatexpr'">'formatexpr'</a>&nbsp;and define the function being called.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Edward L. Fox explains how it should be done for most Asian languages.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(2005 Nov 24)<br>
&nbsp;&nbsp;&nbsp;&nbsp;Alternative: patch for utf-8 line breaking. (Yongwei Wu, 2008 Feb 23)<br>
7&nbsp;&nbsp; [t to move to previous xml/html tag (like &quot;vatov&quot;), ]t to move to next<br>
&nbsp;&nbsp;&nbsp;&nbsp;(&quot;vatv&quot;).<br>
7&nbsp;&nbsp; [&lt; to move to previous xml/html tag, e.g., previous&nbsp;<span class="Special">&lt;li&gt;</span>. ]&lt; to move to<br>
&nbsp;&nbsp;&nbsp;&nbsp;next&nbsp;<span class="Special">&lt;li&gt;</span>, ]&lt; to next &lt;/li&gt;, [&lt; to previous &lt;/li&gt;.<br>
8&nbsp;&nbsp; Add &quot;:rename&quot; command: rename the file of the current buffer and rename<br>
&nbsp;&nbsp;&nbsp;&nbsp;the buffer.&nbsp;&nbsp;Buffer may be modified.<br>
7&nbsp;&nbsp; Instead of filtering errors with a shell script it should be possible to<br>
&nbsp;&nbsp;&nbsp;&nbsp;do this with Vim script.&nbsp;&nbsp;A function that filters the raw text that comes<br>
&nbsp;&nbsp;&nbsp;&nbsp;from the&nbsp;<a class="Type" href="options.html#'makeprg'">'makeprg'</a>?<br>
-&nbsp;&nbsp; Add %b to&nbsp;<a class="Type" href="options.html#'errorformat'">'errorformat'</a>: buffer number. (Yegappan Lakshmanan / Suresh<br>
&nbsp;&nbsp;&nbsp;&nbsp;Govindachar)<br>
7&nbsp;&nbsp; Add a command that goes back to the position from before jumping to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;first quickfix location.&nbsp;&nbsp;&quot;:cbefore&quot;?<br>
7&nbsp;&nbsp; Allow a window not to have a statusline.&nbsp;&nbsp;Makes it possible to use a<br>
&nbsp;&nbsp;&nbsp;&nbsp;window as a buffer-tab selection.<br>
8&nbsp;&nbsp; Allow non-active windows to have a different statusline. (Yakov Lerner)<br>
7&nbsp;&nbsp; Add an invisible buffer which can be edited.&nbsp;&nbsp;For use in scripts that want<br>
&nbsp;&nbsp;&nbsp;&nbsp;to manipulate text without changing the window layout.<br>
8&nbsp;&nbsp; Add a command to revert to the saved version of file; undo or redo until<br>
&nbsp;&nbsp;&nbsp;&nbsp;all changes are gone.<br>
6&nbsp;&nbsp; &quot;vim -q -&quot; should read the list of errors from stdin. (Gautam Mudunuri)<br>
8&nbsp;&nbsp; Add &quot;--remote-fail&quot;: When contacting the server fails, exit Vim.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add &quot;--remote-self&quot;: When contacting the server fails, do it in this Vim.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Overrules the default of &quot;--remote-send&quot; to fail and &quot;--remote&quot; to do it<br>
&nbsp;&nbsp;&nbsp;&nbsp;in this Vim.<br>
8&nbsp;&nbsp; When Vim was started without a server, make it possible to start one, as<br>
&nbsp;&nbsp;&nbsp;&nbsp;if the &quot;--servername&quot; argument was given.&nbsp;&nbsp;&quot;:startserver&nbsp;<span class="Special">&lt;name&gt;</span>&quot;?<br>
8&nbsp;&nbsp; No address range can be used before the command modifiers.&nbsp;&nbsp;This makes<br>
&nbsp;&nbsp;&nbsp;&nbsp;them difficult to use in a menu for Visual mode.&nbsp;&nbsp;Accept the range and<br>
&nbsp;&nbsp;&nbsp;&nbsp;have it apply to the following command.<br>
8&nbsp;&nbsp; Add the possibility to set&nbsp;<a class="Type" href="options.html#'fileformats'">'fileformats'</a>&nbsp;to force a format and strip other<br>
&nbsp;&nbsp;&nbsp;&nbsp;CR characters.&nbsp;&nbsp;For example, for &quot;dos&quot; files remove CR characters at the<br>
&nbsp;&nbsp;&nbsp;&nbsp;end of the line, so that a file with mixed line endings is cleaned up.<br>
&nbsp;&nbsp;&nbsp;&nbsp;To just not display the CR characters: Add a flag to&nbsp;<a class="Type" href="options.html#'display'">'display'</a>?<br>
7&nbsp;&nbsp; Some compilers give error messages in which the file name does not have a<br>
&nbsp;&nbsp;&nbsp;&nbsp;path.&nbsp;&nbsp;Be able to specify that&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;is used for these files.<br>
7&nbsp;&nbsp; Xterm sends&nbsp;<span class="Special">&lt;Esc&gt;</span>O3F for&nbsp;<span class="Special">&lt;M-End&gt;</span>.&nbsp;&nbsp;Similarly for other&nbsp;<span class="Special">&lt;M-Home&gt;</span>,&nbsp;<span class="Special">&lt;M-Left&gt;</span>,<br>
&nbsp;&nbsp;&nbsp;&nbsp;etc.&nbsp;&nbsp;Combinations of Alt, Ctrl and Shift are also possible.&nbsp;&nbsp;Recognize<br>
&nbsp;&nbsp;&nbsp;&nbsp;these to avoid inserting the raw byte sequence, handle like the key<br>
&nbsp;&nbsp;&nbsp;&nbsp;without modifier (unless mapped).<br>
6&nbsp;&nbsp; Add &quot;gG&quot;: like what &quot;gj&quot; is to &quot;j&quot;: go to the&nbsp;<span class="Special">N</span>'th window line.<br>
8&nbsp;&nbsp; Add command like &quot;:normal&quot; that accepts&nbsp;<span class="Special">&lt;Key&gt;</span>&nbsp;notation like &quot;:map&quot;.<br>
9&nbsp;&nbsp; Support ACLs on more systems.<br>
7&nbsp;&nbsp; Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be<br>
&nbsp;&nbsp;&nbsp;&nbsp;highlighted differently.<br>
7&nbsp;&nbsp; Add a message area for the user.&nbsp;&nbsp;Set some option to reserve space (above<br>
&nbsp;&nbsp;&nbsp;&nbsp;the command line?).&nbsp;&nbsp;Use an &quot;:echouser&quot; command to display the message<br>
&nbsp;&nbsp;&nbsp;&nbsp;(truncated to fit in the space).<br>
7&nbsp;&nbsp; Add %s to&nbsp;<a class="Type" href="options.html#'keywordprg'">'keywordprg'</a>: replace with word under the cursor. (Zellner)<br>
8&nbsp;&nbsp; Support printing on Unix.&nbsp;&nbsp;Can use &quot;lpansi.c&quot; as an example. (Bookout)<br>
8&nbsp;&nbsp; Add put command that replaces the text under it.&nbsp;&nbsp;Esp. for blockwise<br>
&nbsp;&nbsp;&nbsp;&nbsp;Visual mode.<br>
7&nbsp;&nbsp; Enhance termresponse stuff: Add t_CV(?): pattern of term response, use<br>
&nbsp;&nbsp;&nbsp;&nbsp;regexp: &quot;\e\[[&gt;?][0-9;]*c&quot;, but only check just after sending t_RV.<br>
7&nbsp;&nbsp; Add &quot;g|&quot; command: move to&nbsp;<span class="Special">N</span>'th column from the left margin (after wrapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;and applying&nbsp;<span class="MissingTag">'leftcol'</span>).&nbsp;&nbsp;Works as &quot;|&quot; like what &quot;g0&quot; is to &quot;0&quot;.<br>
7&nbsp;&nbsp; Support setting&nbsp;<a class="Type" href="options.html#'equalprg'">'equalprg'</a>&nbsp;to a user function name.<br>
7&nbsp;&nbsp; Highlight the characters after the end-of-line differently.<br>
7&nbsp;&nbsp; When&nbsp;<a class="Type" href="options.html#'whichwrap'">'whichwrap'</a>&nbsp;contains &quot;l&quot;, &quot;$dl&quot; should join lines?<br>
8&nbsp;&nbsp; Add an argument to configure to use $CFLAGS and not modify it? (Mooney)<br>
8&nbsp;&nbsp; Enabling features is a mix of configure arguments and defines in<br>
&nbsp;&nbsp;&nbsp;&nbsp;feature.h.&nbsp;&nbsp;How to make this consistent?&nbsp;&nbsp;Feature.h is required for<br>
&nbsp;&nbsp;&nbsp;&nbsp;non-unix systems.&nbsp;&nbsp;Perhaps let configure define CONF_XXX, and use #ifdef<br>
&nbsp;&nbsp;&nbsp;&nbsp;CONF_XXX in feature.h?&nbsp;&nbsp;Then what should min-features and max-features do?<br>
8&nbsp;&nbsp; Add &quot;g^E&quot; and &quot;g^Y&quot;, to scroll a screen-full line up and down.<br>
8&nbsp;&nbsp; Add &quot;:confirm&quot; handling in open_exfile(), for when file already exists.<br>
8&nbsp;&nbsp; When quitting with changed files, make the dialog list the changed file<br>
&nbsp;&nbsp;&nbsp;&nbsp;and allow &quot;write all&quot;, &quot;discard all&quot;, &quot;write some&quot;.&nbsp;&nbsp;The last one would<br>
&nbsp;&nbsp;&nbsp;&nbsp;then ask &quot;write&quot; or &quot;discard&quot; for each changed file.&nbsp;&nbsp;Patch in HierAssist<br>
&nbsp;&nbsp;&nbsp;&nbsp;does something like this. (Shah)<br>
7&nbsp;&nbsp; Use growarray for replace stack.<br>
7&nbsp;&nbsp; Have a look at viH (Hellenic or Greek version of Vim).&nbsp;&nbsp;But a solution<br>
&nbsp;&nbsp;&nbsp;&nbsp;outside of Vim might be satisfactory (Haritsis).<br>
3&nbsp;&nbsp; Make &quot;2d%&quot; work like &quot;d%d%&quot; instead of &quot;d2%&quot;?<br>
7&nbsp;&nbsp; &quot;g&nbsp;<span class="Special">CTRL-O</span>&quot; jumps back to last used buffer.&nbsp;&nbsp;Skip&nbsp;<span class="Special">CTRL-O</span>&nbsp;jumps in the same<br>
&nbsp;&nbsp;&nbsp;&nbsp;buffer.&nbsp;&nbsp;Make jumplist remember the last ten accessed buffers?<br>
7&nbsp;&nbsp; Make it possible to set the size of the jumplist (also to a smaller number<br>
&nbsp;&nbsp;&nbsp;&nbsp;than the default). (Nikolai Weibull)<br>
-&nbsp;&nbsp; Add code to disable the CAPS key when going from Insert to Normal mode.<br>
-&nbsp;&nbsp; Set date/protection/etc. of the patchfile the same as the original file.<br>
-&nbsp;&nbsp; Use growarray for termcodes[] in term.c<br>
-&nbsp;&nbsp; Add&nbsp;<span class="Special">&lt;window-99&gt;</span>, like&nbsp;<span class="Special">&lt;cword&gt;</span>&nbsp;but use filename of 99'th window.<br>
7&nbsp;&nbsp; Add a way to change an operator to always work characterwise-inclusive<br>
&nbsp;&nbsp;&nbsp;&nbsp;(like &quot;v&quot; makes the operator characterwise-exclusive).&nbsp;&nbsp;&quot;x&quot; could be used.<br>
-&nbsp;&nbsp; Make a set of operations on list of names: expand wildcards, replace home<br>
&nbsp;&nbsp;&nbsp;&nbsp;dir, append a string, delete a string, etc.<br>
-&nbsp;&nbsp; Remove using mktemp() and use tmpname() only?&nbsp;&nbsp;Ctags does this.<br>
-&nbsp;&nbsp; When replacing environment variables, and there is one that is not set,<br>
&nbsp;&nbsp;&nbsp;&nbsp;turn it into an empty string?&nbsp;&nbsp;Only when expanding options? (Hiebert)<br>
-&nbsp;&nbsp; Option to set command to be executed instead of producing a beep (e.g. to<br>
&nbsp;&nbsp;&nbsp;&nbsp;call &quot;play newbeep.au&quot;).<br>
-&nbsp;&nbsp; Add option to show the current function name in the status line.&nbsp;&nbsp;More or<br>
&nbsp;&nbsp;&nbsp;&nbsp;less what you find with &quot;[[k&quot;, like how&nbsp;<a class="Type" href="options.html#'cindent'">'cindent'</a>&nbsp;recognizes a function.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Bhatt).<br>
-&nbsp;&nbsp; &quot;[r&quot; and &quot;]r&quot;: like &quot;p&quot; and &quot;P&quot;, but replace instead of insert (esp. for<br>
&nbsp;&nbsp;&nbsp;&nbsp;blockwise registers).<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'timecheck'</span>&nbsp;option, on by default.&nbsp;&nbsp;Makes it possible to switch off the<br>
&nbsp;&nbsp;&nbsp;&nbsp;timestamp warning and question. (Dodt).<br>
-&nbsp;&nbsp; Add an option to set the time after which Vim should check the timestamps<br>
&nbsp;&nbsp;&nbsp;&nbsp;of the files.&nbsp;&nbsp;Only check when an event occurs (e.g., character typed,<br>
&nbsp;&nbsp;&nbsp;&nbsp;mouse moved).&nbsp;&nbsp;Useful for non-GUI versions where keyboard focus isn't<br>
&nbsp;&nbsp;&nbsp;&nbsp;noticeable.<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'smartcase'">'smartcase'</a>&nbsp;work even though&nbsp;<a class="Type" href="options.html#'ic'">'ic'</a>&nbsp;isn't set (Webb).<br>
7&nbsp;&nbsp; When formatting text, allow to break the line at a number of characters.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Use an option for this:&nbsp;<span class="MissingTag">'breakchars'</span>?&nbsp;&nbsp;Useful for formatting Fortran code.<br>
-&nbsp;&nbsp; Add flag to&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>&nbsp;to be able to format book-style paragraphs<br>
&nbsp;&nbsp;&nbsp;&nbsp;(first line of paragraph has larger indent, no empty lines between<br>
&nbsp;&nbsp;&nbsp;&nbsp;paragraphs).&nbsp;&nbsp;Complements the '2' flag.&nbsp;&nbsp;Use '&gt;' flag when larger indent<br>
&nbsp;&nbsp;&nbsp;&nbsp;starts a new paragraph, use '&lt;' flag when smaller indent starts a new<br>
&nbsp;&nbsp;&nbsp;&nbsp;paragraph.&nbsp;&nbsp;Both start a new paragraph on any indent change.<br>
8&nbsp;&nbsp; The 'a' flag in&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>&nbsp;is too dangerous.&nbsp;&nbsp;In some way only do<br>
&nbsp;&nbsp;&nbsp;&nbsp;auto-formatting in specific regions, e.g. defined by syntax highlighting.<br>
8&nbsp;&nbsp; Allow using a trailing space to signal a paragraph that continues on the<br>
&nbsp;&nbsp;&nbsp;&nbsp;next line (MIME text/plain; format=flowed, RFC 2646).&nbsp;&nbsp;Can be used for<br>
&nbsp;&nbsp;&nbsp;&nbsp;continuous formatting.&nbsp;&nbsp;Could use&nbsp;<span class="MissingTag">'autoformat'</span>&nbsp;option, which specifies a<br>
&nbsp;&nbsp;&nbsp;&nbsp;regexp which triggers auto-formatting (for one line).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:set autoformat=\\s$&quot;.<br>
-&nbsp;&nbsp; Be able to redefine where a sentence stops.&nbsp;&nbsp;Use a regexp pattern?<br>
-&nbsp;&nbsp; Support multi-byte characters for sentences.&nbsp;&nbsp;Example from Ben Peterson.<br>
7&nbsp;&nbsp; Add command &quot;g)&quot; to go to the end of a sentence, &quot;g(&quot; to go back to the<br>
&nbsp;&nbsp;&nbsp;&nbsp;end of a sentence. (Servatius Brandt)<br>
-&nbsp;&nbsp; Be able to redefine where a paragraph starts.&nbsp;&nbsp;For &quot;[[&quot; where the '{' is<br>
&nbsp;&nbsp;&nbsp;&nbsp;not in column 1.<br>
6&nbsp;&nbsp; Add &quot;:cdprev&quot;: go back to the previous directory.&nbsp;&nbsp;Need to remember a<br>
&nbsp;&nbsp;&nbsp;&nbsp;stack of previous directories.&nbsp;&nbsp;We also need &quot;:cdnext&quot;.<br>
7&nbsp;&nbsp; Should &quot;:cd&quot; for MS-DOS go to $HOME, when it's defined?<br>
-&nbsp;&nbsp; Make &quot;gq<span class="Special">&lt;CR&gt;</span>&quot; work on the last line in the file.&nbsp;&nbsp;Maybe for every operator?<br>
-&nbsp;&nbsp; Add more redirecting of Ex commands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:redir #&gt;&nbsp;&nbsp;bufname<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:redir #&gt;&gt; bufname&nbsp;&nbsp; (append)<br>
-&nbsp;&nbsp; Give error message when starting :redir: twice or using END when no<br>
&nbsp;&nbsp;&nbsp;&nbsp;redirection was active.<br>
-&nbsp;&nbsp; Setting of options, specifically for a buffer or window, with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:set window.option&quot; or &quot;:set buffer.option=val&quot;.&nbsp;&nbsp;Or use &quot;:buffer.set&quot;.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Also: &quot;buffer.map&nbsp;<span class="Special">&lt;F1&gt;</span>&nbsp;quit&quot;.<br>
6&nbsp;&nbsp; Would it be possible to change the color of the cursor in the Win32<br>
&nbsp;&nbsp;&nbsp;&nbsp;console?&nbsp;&nbsp;(Klaus Hast)<br>
-&nbsp;&nbsp; Add :delcr command:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="todo.html#:delcr" name=":delcr">:delcr</a><br>
&nbsp;&nbsp;&nbsp;&nbsp; :<span class="Special">[range]</span>delcr[!]&nbsp;&nbsp; Check&nbsp;<span class="Special">[range]</span>&nbsp;lines (default: whole buffer) for lines<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ending in&nbsp;<span class="Special">&lt;CR&gt;</span>.&nbsp;&nbsp;If all lines end in&nbsp;<span class="Special">&lt;CR&gt;</span>, or [!] is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;used, remove the&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;at the end of lines in&nbsp;<span class="Special">[range]</span>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;<span class="Special">CTRL-Z</span>&nbsp;at the end of the file is removed.&nbsp;&nbsp;If<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">[range]</span>&nbsp;is omitted, or it is the whole file, and all<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines end in&nbsp;<span class="Special">&lt;CR&gt;</span>&nbsp;<a class="Type" href="options.html#'textmode'">'textmode'</a>&nbsp;is set.&nbsp;&nbsp;<span class="Special">{not in Vi}</span><br>
-&nbsp;&nbsp; Should integrate addstar() and file_pat_to_reg_pat().<br>
-&nbsp;&nbsp; When working over a serial line with 7 bit characters, remove meta<br>
&nbsp;&nbsp;&nbsp;&nbsp;characters from&nbsp;<a class="Type" href="options.html#'isprint'">'isprint'</a>.<br>
-&nbsp;&nbsp; Use fchdir() in init_homedir(), like in FullName().<br>
-&nbsp;&nbsp; In win_update(), when the GUI is active, always use the scrolling area.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Avoid that the last status line is deleted and needs to be redrawn.<br>
-&nbsp;&nbsp; That &quot;cTx&quot; fails when the cursor is just after 'x' is Vi compatible, but<br>
&nbsp;&nbsp;&nbsp;&nbsp;may not be what you expect.&nbsp;&nbsp;Add a flag in&nbsp;<a class="Type" href="options.html#'cpoptions'">'cpoptions'</a>&nbsp;for this?&nbsp;&nbsp;More<br>
&nbsp;&nbsp;&nbsp;&nbsp;general: Add an option to allow &quot;c&quot; to work with a null motion.<br>
-&nbsp;&nbsp; Give better error messages by using errno (strerror()).<br>
-&nbsp;&nbsp; Give &quot;Usage:&quot; error message when command used with wrong arguments (like<br>
&nbsp;&nbsp;&nbsp;&nbsp;Nvi).<br>
-&nbsp;&nbsp; Make&nbsp;<a class="Type" href="options.html#'restorescreen'">'restorescreen'</a>&nbsp;option also work for xterm (and others), replaces the<br>
&nbsp;&nbsp;&nbsp;&nbsp;SAVE_XTERM_SCREEN define.<br>
7&nbsp;&nbsp; Support for &quot;:winpos&quot; In xterm: report the current window position.<br>
-&nbsp;&nbsp; Give warning message when using &quot;:set t_xx=asdf&quot; for a termcap code that<br>
&nbsp;&nbsp;&nbsp;&nbsp;Vim doesn't know about.&nbsp;&nbsp;Add flag in&nbsp;<a class="Type" href="options.html#'shortmess'">'shortmess'</a>?<br>
6&nbsp;&nbsp; Add &quot;:che&nbsp;<span class="Special">&lt;file&gt;</span>&quot;, list all the include paths which lead to this file.<br>
-&nbsp;&nbsp; For a commandline that has several commands (:s, :d, etc.) summarize the<br>
&nbsp;&nbsp;&nbsp;&nbsp;changes all together instead of for each command (e.g. for the rot13<br>
&nbsp;&nbsp;&nbsp;&nbsp;macro).<br>
-&nbsp;&nbsp; Add command like &quot;[I&quot; that also shows the tree of included files.<br>
-&nbsp;&nbsp; &quot;:set sm^L&quot; results in &quot;:set s&quot;, because short names of options are also<br>
&nbsp;&nbsp;&nbsp;&nbsp;expanded.&nbsp;&nbsp;Is there a better way to do this?<br>
-&nbsp;&nbsp; Add &quot;:@!&quot; command, to &quot;:@&quot; like what &quot;:source!&quot; is to &quot;:source&quot;.<br>
8&nbsp;&nbsp; Add &quot;:@:!&quot;: repeat last command with forceit set.<br>
-&nbsp;&nbsp; Add 't_normal': Used whenever t_me, t_se, t_ue or t_Zr is empty.<br>
-&nbsp;&nbsp; &quot;:cab map test ^V| je&quot;, &quot;:cunab map&quot; doesn't work.&nbsp;&nbsp;This is vi compatible!<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-E</span>&nbsp;and&nbsp;<span class="Special">CTRL-W</span>&nbsp;<span class="Special">CTRL-Y</span>&nbsp;should move the current window up or down<br>
&nbsp;&nbsp;&nbsp;&nbsp;if it is not the first or last window.<br>
-&nbsp;&nbsp; Include-file-search commands should look in the loaded buffer of a file (if<br>
&nbsp;&nbsp;&nbsp;&nbsp;there is one) instead of the file itself.<br>
7&nbsp;&nbsp; Change&nbsp;<a class="Type" href="options.html#'nrformats'">'nrformats'</a>&nbsp;to include the leader for each format.&nbsp;&nbsp;Example:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nrformats=hex:$,binary:b,octal:0<br>
&nbsp;&nbsp;&nbsp;&nbsp;Add setting of&nbsp;<a class="Type" href="options.html#'nrformats'">'nrformats'</a>&nbsp;to syntax files.<br>
-&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;can become very long, don't use NameBuff for expansion.<br>
-&nbsp;&nbsp; When unhiding a hidden buffer, put the same line at top of the window as<br>
&nbsp;&nbsp;&nbsp;&nbsp;the one before hiding it.&nbsp;&nbsp;Or: keep the same relative cursor position (so<br>
&nbsp;&nbsp;&nbsp;&nbsp;many percent down the windows).<br>
-&nbsp;&nbsp; Make it possible for the&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;to be displayed at the end of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;line.&nbsp;&nbsp;Use a comma to separate the part at the end and the start of the<br>
&nbsp;&nbsp;&nbsp;&nbsp;line?&nbsp;&nbsp;Highlight the linebreak characters, add flag in&nbsp;<a class="Type" href="options.html#'highlight'">'highlight'</a>.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Make&nbsp;<a class="Type" href="options.html#'showbreak'">'showbreak'</a>&nbsp;local to a window.<br>
-&nbsp;&nbsp; Some string options should be expanded if they have wildcards, e.g.<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a class="Type" href="options.html#'dictionary'">'dictionary'</a>&nbsp;when it is &quot;*.h&quot;.<br>
-&nbsp;&nbsp; Use a specific type for number and boolean options, making it possible to<br>
&nbsp;&nbsp;&nbsp;&nbsp;change it for specific machines (e.g. when a long is 64 bit).<br>
-&nbsp;&nbsp; Add option for&nbsp;<span class="Special">&lt;Insert&gt;</span>&nbsp;in replace mode going to normal mode. (Nugent)<br>
-&nbsp;&nbsp; Add a next/previous possibility to &quot;[^I&quot; and friends.<br>
-&nbsp;&nbsp; Add possibility to change the HOME directory.&nbsp;&nbsp;Use the directory from the<br>
&nbsp;&nbsp;&nbsp;&nbsp;passwd file? (Antwerpen)<br>
8&nbsp;&nbsp; Add commands to push and pop all or individual options. &quot;:setpush tw&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:setpop tw&quot;, &quot;:setpush all&quot;.&nbsp;&nbsp;Maybe pushing/popping all options is<br>
&nbsp;&nbsp;&nbsp;&nbsp;sufficient.&nbsp;&nbsp;&quot;:setflush&quot; resets the option stack?<br>
&nbsp;&nbsp;&nbsp;&nbsp;How to handle an aborted mapping?&nbsp;&nbsp;Remember position in tag stack when<br>
&nbsp;&nbsp;&nbsp;&nbsp;mapping starts, restore it when an error aborts the mapping?<br>
-&nbsp;&nbsp; Change &quot;:fixdel&quot; into option&nbsp;<span class="MissingTag">'fixdel'</span>, t_del will be adjusted each time<br>
&nbsp;&nbsp;&nbsp;&nbsp;t_bs is set? (Webb)<br>
-&nbsp;&nbsp; &quot;gc&quot;: goto character, move absolute character positions forward, also<br>
&nbsp;&nbsp;&nbsp;&nbsp;counting newlines.&nbsp;&nbsp;&quot;gC&quot; goes backwards (Weigert).<br>
-&nbsp;&nbsp; When doing&nbsp;<span class="Special">CTRL-^</span>, redraw buffer with the same topline. (Demirel)&nbsp;&nbsp;Store<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor row and window height to redraw cursor at same percentage of window<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Webb).<br>
-&nbsp;&nbsp; Besides remembering the last used line number of a file, also remember the<br>
&nbsp;&nbsp;&nbsp;&nbsp;column.&nbsp;&nbsp;Use it with&nbsp;<span class="Special">CTRL-^</span>&nbsp;et. al.<br>
-&nbsp;&nbsp; Check for non-digits when setting a number option (careful when entering<br>
&nbsp;&nbsp;&nbsp;&nbsp;hex codes like 0xff).<br>
-&nbsp;&nbsp; Add option to make &quot;.&quot; redo the &quot;@r&quot; command, instead of the last command<br>
&nbsp;&nbsp;&nbsp;&nbsp;executed by it.&nbsp;&nbsp;Also to make &quot;.&quot; redo the whole mapping.&nbsp;&nbsp;Basically: redo<br>
&nbsp;&nbsp;&nbsp;&nbsp;the last TYPED command.<br>
-&nbsp;&nbsp; Support URL links for ^X^F in Insert mode, like for &quot;gf&quot;.<br>
-&nbsp;&nbsp; Support %name% expansion for &quot;gf&quot; on Windows.<br>
-&nbsp;&nbsp; Make &quot;gf&quot; work on &quot;<span class="Constant">file://c:/path/name</span>&quot;.&nbsp;&nbsp;&quot;<span class="Constant">file:/c:/</span>&quot; and &quot;<span class="Constant">file:///c:/</span>&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;should also work?<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'urlpath'</span>, used like&nbsp;<a class="Type" href="options.html#'path'">'path'</a>&nbsp;for when &quot;gf&quot; used on a URL?<br>
8&nbsp;&nbsp; When using &quot;gf&quot; on an absolute file name, while editing a remote file<br>
&nbsp;&nbsp;&nbsp;&nbsp;(starts with scp:// or <a href="http://)">http://)</a> should prepend the method and machine<br>
&nbsp;&nbsp;&nbsp;&nbsp;name.<br>
-&nbsp;&nbsp; When finding a URL or file name, and it doesn't exist, try removing a<br>
&nbsp;&nbsp;&nbsp;&nbsp;trailing '.'.<br>
-&nbsp;&nbsp; Add &quot;:path&quot; command modifier.&nbsp;&nbsp;Should work for every command that takes a<br>
&nbsp;&nbsp;&nbsp;&nbsp;file name argument, to search for the file name in&nbsp;<a class="Type" href="options.html#'path'">'path'</a>.&nbsp;&nbsp;Use<br>
&nbsp;&nbsp;&nbsp;&nbsp;find_file_in_path().<br>
-&nbsp;&nbsp; Highlight control characters on the screen: Shows the difference between<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-X</span>&nbsp;and &quot;^&quot; followed by &quot;X&quot; (Colon).<br>
-&nbsp;&nbsp; Integrate parsing of cmdline command and parsing for expansion.<br>
-&nbsp;&nbsp; Create a program that can translate a .swp file from any machine into a<br>
&nbsp;&nbsp;&nbsp;&nbsp;form usable by Vim on the current machine.<br>
-&nbsp;&nbsp; Add &quot;:noro&quot; command: Reset&nbsp;<a class="Type" href="options.html#'ro'">'ro'</a>&nbsp;flag for all buffers, except ones that have<br>
&nbsp;&nbsp;&nbsp;&nbsp;a readonly file.&nbsp;&nbsp;&quot;:noro!&quot; will reset all&nbsp;<a class="Type" href="options.html#'ro'">'ro'</a>&nbsp;flags.<br>
-&nbsp;&nbsp; Add a variant of&nbsp;<span class="Special">CTRL-V</span>&nbsp;that stops interpretation of more than one<br>
&nbsp;&nbsp;&nbsp;&nbsp;character.&nbsp;&nbsp;For entering mappings on the command line where a key contains<br>
&nbsp;&nbsp;&nbsp;&nbsp;several special characters, e.g. a trailing newline.<br>
-&nbsp;&nbsp; Make '2' option in&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>&nbsp;also work inside comments.<br>
-&nbsp;&nbsp; Add 's' flag to&nbsp;<a class="Type" href="options.html#'formatoptions'">'formatoptions'</a>: Do not break when inside a string. (Dodt)<br>
-&nbsp;&nbsp; When window size changed (with the mouse) and made too small, set it back<br>
&nbsp;&nbsp;&nbsp;&nbsp;to the minimal size.<br>
-&nbsp;&nbsp; Add &quot;]&gt;&quot; and &quot;[&lt;&quot;, shift comment at end of line (command;&nbsp;&nbsp;/* comment */).<br>
-&nbsp;&nbsp; Should not call cursorcmd() for each vgetc() in getcmdline().<br>
-&nbsp;&nbsp; &quot;:split file1 file2&quot; adds two more windows (Webb).<br>
-&nbsp;&nbsp; Don't give message &quot;Incomplete last line&quot; when editing binary file.<br>
-&nbsp;&nbsp; Add &quot;:a&quot;, &quot;:i&quot; for preloading of named buffers.<br>
-&nbsp;&nbsp; When entering text, keep other windows on same buffer updated (when a line<br>
&nbsp;&nbsp;&nbsp;&nbsp;entered)?<br>
-&nbsp;&nbsp; Check out how screen does output optimizing.&nbsp;&nbsp;Apparently this is possible<br>
&nbsp;&nbsp;&nbsp;&nbsp;as an output filter.<br>
-&nbsp;&nbsp; In dosub() regexec is called twice for the same line.&nbsp;&nbsp;Try to avoid this.<br>
-&nbsp;&nbsp; Window updating from memline.c: insert/delete/replace line.<br>
-&nbsp;&nbsp; Optimize ml_append() for speed, esp. for reading a file.<br>
-&nbsp;&nbsp; V..c should keep indent when&nbsp;<a class="Type" href="options.html#'ai'">'ai'</a>&nbsp;is set, just like&nbsp;<span class="Special">[count]</span>cc.<br>
-&nbsp;&nbsp; Updatescript() can be done faster with a string instead of a char.<br>
-&nbsp;&nbsp; Screen updating is inefficient with&nbsp;<span class="Special">CTRL-F</span>&nbsp;and&nbsp;<span class="Special">CTRL-B</span>&nbsp;when there are long<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines.<br>
-&nbsp;&nbsp; Uppercase characters in Ex commands can be made lowercase?<br>
8&nbsp;&nbsp; Add option to show characters in text not as &quot;|A&quot; but as decimal (&quot;^129&quot;),<br>
&nbsp;&nbsp;&nbsp;&nbsp;hex (&quot;\x81&quot;) or octal (&quot;\201&quot;) or meta (M-x).&nbsp;&nbsp;Nvi has the&nbsp;<span class="MissingTag">'octal'</span>&nbsp;option<br>
&nbsp;&nbsp;&nbsp;&nbsp;to switch from hex to octal.&nbsp;&nbsp;Vile can show unprintable characters in hex<br>
&nbsp;&nbsp;&nbsp;&nbsp;or in octal.<br>
7&nbsp;&nbsp; Tighter integration with xxd to edit binary files.&nbsp;&nbsp;Make it more<br>
&nbsp;&nbsp;&nbsp;&nbsp;easy/obvious to use.&nbsp;&nbsp;Command line argument?<br>
-&nbsp;&nbsp; How does vi detect whether a filter has messed up the screen?&nbsp;&nbsp;Check source.<br>
&nbsp;&nbsp;&nbsp;&nbsp;After &quot;:w !command&quot; a wait_return?<br>
-&nbsp;&nbsp; Improve screen updating code for doput() (use s_ins()).<br>
-&nbsp;&nbsp; With 'p' command on last line: scroll screen up (also for terminals without<br>
&nbsp;&nbsp;&nbsp;&nbsp;insert line command).<br>
-&nbsp;&nbsp; Use insert/delete char when terminal supports it.<br>
-&nbsp;&nbsp; Optimize screen redraw for slow terminals.<br>
-&nbsp;&nbsp; Optimize &quot;dw&quot; for long row of spaces (say, 30000).<br>
-&nbsp;&nbsp; Add &quot;-d null&quot; for editing from a script file without displaying.<br>
-&nbsp;&nbsp; In Insert mode: Remember the characters that were removed with backspace<br>
&nbsp;&nbsp;&nbsp;&nbsp;and re-insert them one at a time with&nbsp;<span class="Special">&lt;key1&gt;</span>, all together with&nbsp;<span class="Special">&lt;key2&gt;</span>.<br>
-&nbsp;&nbsp; Amiga: Add possibility to set a keymap.&nbsp;&nbsp;The code in amiga.c does not work<br>
&nbsp;&nbsp;&nbsp;&nbsp;yet.<br>
-&nbsp;&nbsp; Implement&nbsp;<a class="Type" href="vi_diff.html#'redraw'">'redraw'</a>&nbsp;option.<br>
-&nbsp;&nbsp; Add special code to&nbsp;<a class="Type" href="options.html#'sections'">'sections'</a>&nbsp;option to define something else but '{' or<br>
&nbsp;&nbsp;&nbsp;&nbsp;'}' as the start of a section (e.g. one shiftwidth to the right).<br>
7&nbsp;&nbsp; Allow using Vim in a pipe: &quot;ls | vim -u xxx.vim - | yyy&quot;.&nbsp;&nbsp;Only needs<br>
&nbsp;&nbsp;&nbsp;&nbsp;implementing &quot;:w&quot; to stdout in the buffer that was read from stdin.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps writing to stdout will work, since stderr is used for the terminal<br>
&nbsp;&nbsp;&nbsp;&nbsp;I/O.<br>
8&nbsp;&nbsp; Allow opening an unnamed buffer with &quot;:e !cmd&quot; and &quot;:sp !cmd&quot;.&nbsp;&nbsp;Vile can<br>
&nbsp;&nbsp;&nbsp;&nbsp;do it.<br>
-&nbsp;&nbsp; Add commands like ]] and [[ that do not include the line jumped to.<br>
-&nbsp;&nbsp; When :unab without matching &quot;from&quot; part and several matching &quot;to&quot; parts,<br>
&nbsp;&nbsp;&nbsp;&nbsp;delete the entry that was used last, instead of the first in the list.<br>
-&nbsp;&nbsp; Add text justification option.<br>
-&nbsp;&nbsp; Set boolean options on/off with &quot;:set paste=off&quot;, &quot;:set paste=on&quot;.<br>
-&nbsp;&nbsp; After &quot;inv&quot;ing an option show the value: &quot;:set invpaste&quot; gives &quot;paste is<br>
&nbsp;&nbsp;&nbsp;&nbsp;off&quot;.<br>
-&nbsp;&nbsp; Check handling of&nbsp;<span class="Special">CTRL-V</span>&nbsp;and '\' for &quot;:&quot; commands that do not have TRLBAR.<br>
-&nbsp;&nbsp; When a file cannot be opened but does exist, give error message.<br>
-&nbsp;&nbsp; Amiga: When 'r' protection bit is not set, file can still be opened but<br>
&nbsp;&nbsp;&nbsp;&nbsp;gives read errors.&nbsp;&nbsp;Check protection before opening.<br>
-&nbsp;&nbsp; When writing check for file exists but no permission, &quot;Permission denied&quot;.<br>
-&nbsp;&nbsp; If file does not exist, check if directory exists.<br>
-&nbsp;&nbsp; Settings edit mode: make file with &quot;:set opt=xx&quot;, edit it, parse it as ex<br>
&nbsp;&nbsp;&nbsp;&nbsp;commands.<br>
-&nbsp;&nbsp; &quot;:set -w all&quot;: list one option per line.<br>
-&nbsp;&nbsp; Amiga: test for 'w' flag when reading a file.<br>
-&nbsp;&nbsp; :table command (Webb)<br>
-&nbsp;&nbsp; Add new operator: clear, make area white (replace with spaces): &quot;g &quot;.<br>
-&nbsp;&nbsp; Add command to &quot;:read&quot; a file at a certain column (blockwise read?).<br>
-&nbsp;&nbsp; Add sort of replace mode where case is taken from the old text (Goldfarb).<br>
-&nbsp;&nbsp; Allow multiple arguments for &quot;:read&quot;, read all the files.<br>
-&nbsp;&nbsp; Support for tabs in specific columns: &quot;:set tabcol=8,20,34,56&quot; (Demirel).<br>
-&nbsp;&nbsp; Add&nbsp;<span class="MissingTag">'searchdir'</span>&nbsp;option: Directories to search for file name being edited<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Demirel).<br>
-&nbsp;&nbsp; Modifier for the put command: Change to linewise, charwise, blockwise, etc.<br>
-&nbsp;&nbsp; Add commands for saving and restoring options &quot;:set save&quot; &quot;set restore&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;for use in macro's and the like.<br>
-&nbsp;&nbsp; Keep output from listings in a window, so you can have a look at it while<br>
&nbsp;&nbsp;&nbsp;&nbsp;working in another window.&nbsp;&nbsp;Put cmdline in a separate window?<br>
-&nbsp;&nbsp; Add possibility to put output of Ex commands in a buffer or file, e.g. for<br>
&nbsp;&nbsp;&nbsp;&nbsp;&quot;:set all&quot;.&nbsp;&nbsp;&quot;:r :set all&quot;?<br>
-&nbsp;&nbsp; When the&nbsp;<a class="Type" href="options.html#'equalalways'">'equalalways'</a>&nbsp;option is set, creating a new window should not<br>
&nbsp;&nbsp;&nbsp;&nbsp;result in windows to become bigger.&nbsp;&nbsp;Deleting a window should not result in<br>
&nbsp;&nbsp;&nbsp;&nbsp;a window to become smaller (Webb).<br>
-&nbsp;&nbsp; When resizing the whole Vim window, the windows inside should be resized<br>
&nbsp;&nbsp;&nbsp;&nbsp;proportionally (Webb).<br>
-&nbsp;&nbsp; Include options directly in option table, no indirect pointers.&nbsp;&nbsp;Use<br>
&nbsp;&nbsp;&nbsp;&nbsp;mkopttab to make option table?<br>
-&nbsp;&nbsp; When doing &quot;:w dir&quot;, where &quot;dir&quot; is a directory name, write the current<br>
&nbsp;&nbsp;&nbsp;&nbsp;file into that directory, with the current file name (without the path)?<br>
-&nbsp;&nbsp; Support for&nbsp;<a class="Type" href="options.html#'dictionary'">'dictionary'</a>s that are sorted, makes access a lot faster<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Haritsis).<br>
-&nbsp;&nbsp; Add &quot;^Vrx&quot; on the command line, replace with contents of register x.&nbsp;&nbsp;Used<br>
&nbsp;&nbsp;&nbsp;&nbsp;instead of&nbsp;<span class="Special">CTRL-R</span>&nbsp;to make repeating possible. (Marinichev)<br>
-&nbsp;&nbsp; Add &quot;^Vb&quot; on the command line, replace with word before or under the<br>
&nbsp;&nbsp;&nbsp;&nbsp;cursor?<br>
-&nbsp;&nbsp; Support mapping for replace mode and &quot;r&quot; command (Vi doesn't do this)?<br>
8&nbsp;&nbsp; Sorting of filenames for completion is wrong on systems that ignore<br>
&nbsp;&nbsp;&nbsp;&nbsp;case of filenames.&nbsp;&nbsp;Add&nbsp;<span class="MissingTag">'ignorefncase'</span>&nbsp;option.&nbsp;&nbsp;When set, case in<br>
&nbsp;&nbsp;&nbsp;&nbsp;filenames is ignored for sorting them. Patch by Mike Williams:<br>
&nbsp;&nbsp;&nbsp;&nbsp;~/vim/patches/ignorefncase.&nbsp;&nbsp;Also change what matches?&nbsp;&nbsp;Or use another<br>
&nbsp;&nbsp;&nbsp;&nbsp;option name.<br>
8&nbsp;&nbsp; Should be able to compile Vim in another directory, with $(srcdir) set to<br>
&nbsp;&nbsp;&nbsp;&nbsp;where the sources are. Add $(srcdir) in the Makefile in a lot of places.<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Netherton)<br>
6&nbsp;&nbsp; Make it configurable when &quot;J&quot; inserts a space or not.&nbsp;&nbsp;Should not add a<br>
&nbsp;&nbsp;&nbsp;&nbsp;space after &quot;(&quot;, for example.<br>
5&nbsp;&nbsp; When inserting spaces after the end-of-line for&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>, use tabs<br>
&nbsp;&nbsp;&nbsp;&nbsp;when the user wants this (e.g., add a &quot;tab&quot; field to&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>).<br>
&nbsp;&nbsp;&nbsp;&nbsp;(Servatius Brandt)<br>
<br>
<br>
From Elvis:<br>
-&nbsp;&nbsp; Use &quot;instman.sh&quot; to install manpages?<br>
-&nbsp;&nbsp; Add &quot;:alias&quot; command.<br>
-&nbsp;&nbsp; Search patterns:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\@&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;match word under cursor.<br>
&nbsp;&nbsp;&nbsp;&nbsp;but do:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\@w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; match the word under the cursor?<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\@W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; match the WORD under the cursor?<br>
8&nbsp;&nbsp; &quot;:window&quot; command:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win +&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next window (up)<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win ++&nbsp;&nbsp;&nbsp;&nbsp; idem, wrapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;previous window (down)<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win --&nbsp;&nbsp;&nbsp;&nbsp; idem, wrapping<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win nr&nbsp;&nbsp;&nbsp;&nbsp; to window number &quot;nr&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;:win name&nbsp;&nbsp; to window editing buffer &quot;name&quot;<br>
7&nbsp;&nbsp; &quot;:cc&quot; compiles a single file (default: current one).&nbsp;&nbsp;<span class="MissingTag">'ccprg'</span>&nbsp;&nbsp; option is<br>
&nbsp;&nbsp;&nbsp;&nbsp;program to use with &quot;:cc&quot;.&nbsp;&nbsp;Use &quot;:compile&quot; instead of &quot;:cc&quot;?<br>
<br>
<br>
From xvi:<br>
-&nbsp;&nbsp;&nbsp;<span class="Special">CTRL-_</span>&nbsp;: swap 8th bit of character.<br>
-&nbsp;&nbsp; Add egrep-like regex type, like xvi (Ned Konz) or Perl (Emmanuel Mogenet)<br>
<br>
<br>
From vile:<br>
-&nbsp;&nbsp; When horizontal scrolling, use '&gt;' for lines continuing right of a window.<br>
-&nbsp;&nbsp; Support putting .swp files in /tmp: Command in rc.local to move .swp files<br>
&nbsp;&nbsp;&nbsp;&nbsp;from /tmp to some directory before deleting files.<br>
<br>
<br>
Far future and &quot;big&quot; extensions:<br>
-&nbsp;&nbsp; Instead of using a Makefile and autoconf, use a simple shell script to<br>
&nbsp;&nbsp;&nbsp;&nbsp;find the C compiler and do everything with C code.&nbsp;&nbsp;Translate something<br>
&nbsp;&nbsp;&nbsp;&nbsp;like an Aap recipe and configure.ac to C.&nbsp;&nbsp;Avoids depending on Python,<br>
&nbsp;&nbsp;&nbsp;&nbsp;thus will work everywhere.&nbsp;&nbsp;With batch file to find the C compiler it<br>
&nbsp;&nbsp;&nbsp;&nbsp;would also work on MS-Windows.<br>
-&nbsp;&nbsp; Make it easy to setup Vim for groups of users: novice vi users, novice<br>
&nbsp;&nbsp;&nbsp;&nbsp;Vim users, C programmers, xterm users, GUI users,...<br>
-&nbsp;&nbsp; Change layout of blocks in swap file: Text at the start, with '\n' in<br>
&nbsp;&nbsp;&nbsp;&nbsp;between lines (just load the file without changes, except for Mac).<br>
&nbsp;&nbsp;&nbsp;&nbsp;Indexes for lines are from the end of the block backwards.&nbsp;&nbsp;It's the<br>
&nbsp;&nbsp;&nbsp;&nbsp;current layout mirrored.<br>
-&nbsp;&nbsp; Make it possible to edit a register, in a window, like a buffer.<br>
-&nbsp;&nbsp; Add stuff to syntax highlighting to change the text (upper-case keywords,<br>
&nbsp;&nbsp;&nbsp;&nbsp;set indent, define other highlighting, etc.).<br>
-&nbsp;&nbsp; Mode to keep C-code formatted all the time (sort of on-line indent).<br>
-&nbsp;&nbsp; Several top-level windows in one Vim session.&nbsp;&nbsp;Be able to use a different<br>
&nbsp;&nbsp;&nbsp;&nbsp;font in each top-level window.<br>
-&nbsp;&nbsp; Allow editing above start and below end of buffer (flag in&nbsp;<a class="Type" href="options.html#'virtualedit'">'virtualedit'</a>).<br>
-&nbsp;&nbsp; Smart cut/paste: recognize words and adjust spaces before/after them.<br>
-&nbsp;&nbsp; Add open mode, use it when terminal has no cursor positioning.<br>
-&nbsp;&nbsp; Special &quot;drawing mode&quot;: a line is drawn where the cursor is moved to.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Backspace deletes along the line (from jvim).<br>
-&nbsp;&nbsp; Support for underlining (underscore-BS-char), bold (char-BS-char) and other<br>
&nbsp;&nbsp;&nbsp;&nbsp;standout modes switched on/off with ,&nbsp;<span class="MissingTag">'overstrike'</span>&nbsp;option (Reiter).<br>
-&nbsp;&nbsp; Add vertical mode (Paul Jury, Demirel): &quot;5vdw&quot; deletes a word in five<br>
&nbsp;&nbsp;&nbsp;&nbsp;lines, &quot;3vitextESC&quot; will insert &quot;text&quot; in three lines, etc..<br>
4&nbsp;&nbsp; Recognize l, #, p as&nbsp;<span class="MissingTag">'flags'</span>&nbsp;to EX commands:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:g/RE/#l shall print lines with line numbers and in list format.<br>
&nbsp;&nbsp;&nbsp;&nbsp;:g/RE/dp shall print lines that are deleted.<br>
&nbsp;&nbsp;&nbsp;&nbsp;POSIX: Commands where flags shall apply to all lines written: list,<br>
&nbsp;&nbsp;&nbsp;&nbsp;number, open, print, substitute, visual, &amp;, z.&nbsp;&nbsp;For other commands, flags<br>
&nbsp;&nbsp;&nbsp;&nbsp;shall apply to the current line after the command completes.&nbsp;&nbsp;Examples:<br>
&nbsp;&nbsp;&nbsp;&nbsp;:7,10j #l Join the lines 7-10 and print the result in list<br>
-&nbsp;&nbsp; Allow two or more users to edit the same file at the same time.&nbsp;&nbsp;Changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;are reflected in each Vim immediately.&nbsp;&nbsp;Could work with local files but<br>
&nbsp;&nbsp;&nbsp;&nbsp;also over the internet.&nbsp;&nbsp;See&nbsp;<span class="Constant"><a href="http://www.codingmonkeys.de/subethaedit/">http://www.codingmonkeys.de/subethaedit/</a></span>.<br>
<br>
vim&#0058;tw=78:sw=4:sts=4:ts=8:ft=help:norl:<br>
vim&#0058; set fo+=n :<br>
</div>

</article>

<footer>
<a href="#top">Return to the top</a> - <a href="index.html">Return to main</a>
<span class="EnglishJapaneseLink">
  <span class="CurrentLanguage">English</span>
</span>
<br />
<div style="text-align:right;">
Hosted by <a href="https://github.com/vim-jp/vimdoc-en">vimdoc-en project</a><br />
If you met any problem, please report it to <a href="https://github.com/vim-jp/vimdoc-en/issues">issue</a>.<br />
</div>
</footer>

<!--<script src="js/check-referrer.js" type="text/javascript"></script>-->

</body>
</html>
<!-- vim:set ts=8 sts=2 sw=2 tw=0 et: -->
